在Ubuntu中正确设置java classpath和java_home

Hug*_*not 9 java ubuntu path classpath java-home

我收到了错误

线程"main"java.lang.NoClassDefFoundError中的异常:

当我尝试在Ubuntu上运行编译类时.我使用的是一个非常简单的Helloworld示例,并且互联网上已存在的数百万个响应表明我的CLASSPATH和JAVA_HOME变量设置错误.

但是,我已将etc/environment编辑为正确的文件夹以及当前文件夹:

PATH = ":在/ usr/local/sbin中:在/ usr/local/bin目录:/ usr/sbin目录:在/ usr/bin中:/ sbin目录:/ bin中:在/ usr /游戏"

JAVA_HOME = "/ usr/lib中/ JVM/java的1.5.0-太阳/"

CLASSPATH = ":/ usr/lib中/ JVM/JAVA-1.5.0-太阳/ lib目录"

当我输入set命令时它们会出现.无论如何,即使我手动设置类路径也是如此

sudo java -cp.myfirstjavaprog.class

我犯了同样的错误.我还应该在哪儿看?这必须是配置问题.

非常感谢

Pac*_*ace 6

你想从最后删除.class.输入......

java -cp . myfirstjavaprog
Run Code Online (Sandbox Code Playgroud)

  • 发生在我们最好的人身上. (4认同)

Car*_*icz 5

我强烈建议删除CLASSPATH环境变量,或至少从中取出JRE/JDK.

"."除非另有说明,否则隐式在类路径中.关于Java 1.3,Java已经足够聪明,可以根据javac/java可执行文件的执行路径找到自己的运行时和库.从那以后,如果不是完全错误的话,在类路径中指定那些是多余的.肯定.../lib是不正确的,因为那里只有罐子,没有类,如果它们没有单独和明确地命名,那么它们不会从类路径中被拾取.

现代javas足够聪明,只需java <classname>站在类路径的根目录中就可以输入,它就是Just Work™.