1、第一个JAVA例程:hello world
执行时的问题:problems Executing Hello
如果你看到下面的错误提示:
'java' is not recognized as an internal or external command, ...
or
java: Command not found.
那么你或许没有安装java或者在环境变量中并没有设置path路径java\bin目录。
请检查你的java安装以及环境变量的正确设置。
如果你看到:
Exception in thread "main" java.lang.NoClassDefFoundError: hello
(wrong name: Hello) ...
那么你很有可能是因为没有注意大小写或是把名称中的字母打错了。如:
java hello
键入正确的命令重新运行即可。
如果你看到:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello
/class
那么你需要考虑是否去掉名字中的.class部分。
2、分析出现java.lang.NoClassDefFoundError异常的具体情况
这个问题在上面调试第一个例程出现过,但是如果我们输入的名称是正确的,仍然提示这样的问题时怎么办呢?
装了JDK1.4.0版,而且JAVA_HOME,PATH和CLASSPATH都设置好了。如下
JAVA_HOME=/home/jdk
CLASSPATH=$JAVA_HOME/jre/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
用JAVAC命令生成了hello.class,当使用java hello时,仍然提示:
Exception in thread "main" java.lang.NoClassDefFoundError:XXX(wrong name: XXX)
解决提示:
(1)、Add (current directory) to your classpath或类定义前面加public
(2)、path环境变量中设置的路径中是否有另一个java.exe文件,默认执行的是这个目录下的java.exe,虽然版本与JDK下的java.exe一致,但是在此目录下执行就会出错。
方法:
安装了JDK的情况下,应该删除winnt下的java.exe,确保默认调用的java.exe是位于jdk中bin目录下的java.exe。
(3)、假如你使用了packet
那么检查你在编译了没有将指定package包在你文件中的java文件。