imet
2008-06-22 11:14
浏览 188
已采纳

(菜鸟问题)Ubuntu 下 Java class文件无法解释

java的配置已经按wiki上配置了。Java的环境变量还有Java_HOME 都已经配置好了。

我在 /home/eastmountain/javapro下建立了HelloWorld.java
javac HelloWorld.java 可以编译。
然后 java HelloWorld 就出现如下错误:
[code="java"]
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)
[/code]

可以解释吗,是什么原因? 这个好像是跟环境变量有关,可是不知道,问题在什么地方,我的环境变量也配置了。

另外如果程序中加入了中文注释 ,终端上显示的下列代码不能映射成utf-8(我的这个文件是在/media/STUDY文件夹中,Windows xp 上写的另外的程序)

[b]问题补充:[/b]
这是我 /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程序运行是没有问题的。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • llade163 2008-06-22 13:35
    已采纳

    CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
    应该是:
    CLASSPATH=.;/usr/lib/jvm/java-6-sun/lib
    估计是这里出了问题。用;不是:

    已采纳该答案
    打赏 评论
  • llade163 2008-06-22 12:15

    classpath环境变了少了"."(当前目录)吧?
    应该设置成classpath=.;/usr/java5/.....之类的。

    打赏 评论
  • llade163 2008-06-22 13:39

    sorry。搞错了。的确是应该是:.

    打赏 评论