(菜鸟问题)Ubuntu 下 Java class文件无法解释
悬赏:10 发布时间:2008-06-22 提问人:eastmountain (初级程序员)
java的配置已经按wiki上配置了。Java的环境变量还有Java_HOME 都已经配置好了。
我在 /home/eastmountain/javapro下建立了HelloWorld.java
javac HelloWorld.java 可以编译。
然后 java HelloWorld 就出现如下错误:
可以解释吗,是什么原因? 这个好像是跟环境变量有关,可是不知道,问题在什么地方,我的环境变量也配置了。
另外如果程序中加入了中文注释 ,终端上显示的下列代码不能映射成utf-8(我的这个文件是在/media/STUDY文件夹中,Windows xp 上写的另外的程序)
问题补充:
这是我 /etc/jvm的配置
# This file defines the default system JVM search order. Each
# JVM should list their JAVA_HOME compatible directory in this file.
# The default system JVM is the first one available from top to
# bottom.
/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj
/usr/lib/jvm/ia32-java-1.5.0-sun
/usr/lib/jvm/java-1.5.0-sun
/usr
终端下
eastmountain@eastmountain-desktop:~$ java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)
/etc/environment 配置
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="zh_CN:zh:en_US:en"
LANG="zh_CN.UTF-8"
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun
如果直接用eclipse来写这样的一个java程序运行是没有问题的。
我在 /home/eastmountain/javapro下建立了HelloWorld.java
javac HelloWorld.java 可以编译。
然后 java HelloWorld 就出现如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld Caused by: java.lang.ClassNotFoundException: HelloWorld at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
可以解释吗,是什么原因? 这个好像是跟环境变量有关,可是不知道,问题在什么地方,我的环境变量也配置了。
另外如果程序中加入了中文注释 ,终端上显示的下列代码不能映射成utf-8(我的这个文件是在/media/STUDY文件夹中,Windows xp 上写的另外的程序)
问题补充:
这是我 /etc/jvm的配置
# This file defines the default system JVM search order. Each
# JVM should list their JAVA_HOME compatible directory in this file.
# The default system JVM is the first one available from top to
# bottom.
/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj
/usr/lib/jvm/ia32-java-1.5.0-sun
/usr/lib/jvm/java-1.5.0-sun
/usr
终端下
eastmountain@eastmountain-desktop:~$ java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)
/etc/environment 配置
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="zh_CN:zh:en_US:en"
LANG="zh_CN.UTF-8"
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun
如果直接用eclipse来写这样的一个java程序运行是没有问题的。
采纳的答案
2008-06-22 llade (资深程序员)
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
应该是:
CLASSPATH=.;/usr/lib/jvm/java-6-sun/lib
估计是这里出了问题。用;不是:
应该是:
CLASSPATH=.;/usr/lib/jvm/java-6-sun/lib
估计是这里出了问题。用;不是:
提问者对于答案的评价:
哦,谢谢,写的时候看疏忽了,竟然犯了这么低级的错误,谢谢,你的细心查看。




