java.lang.NoClassDefFoundError当我从终端运行java文件时 [英] java.lang.NoClassDefFoundError when i run java file from terminal

查看:102
本文介绍了java.lang.NoClassDefFoundError当我从终端运行java文件时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个java新手。我一直在使用Eclipse来测试一个简单的java类(名为NewHelloWorld),它在控制台中运行良好。当我尝试从终端执行相同的操作时,它会正确编译(创建一个HelloWorld.class而不会出现任何错误),但是 java NewHelloWorld 显示以下错误

I am a java newbie. I have been using Eclipse to test a simple java class (named NewHelloWorld) and it runs fine in the console. When I try to do the same thing from a terminal, it compiles properly (creates a HelloWorld.class without giving any error) , but then java NewHelloWorld shows the following error

Exception in thread "main" java.lang.NoClassDefFoundError: NewHelloWorld (wrong name: org/kodeplay/kodejava/NewHelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: NewHelloWorld. Program will exit.

我也试过 java -classpath。 NewHelloWorld 但不起作用也会产生同样的错误。

I also tried java -classpath . NewHelloWorld but that doesnt work as well giving the same error.

这些是环境变量的值:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
CLASSPATH="/usr/lib/jvm/java-6-openjdk/lib:."

还有其他需要或我在这里遗漏了什么吗?
谢谢

Is anything else required or am I missing anything here? Thanks

PS:使用Ubuntu 10.04桌面

PS: using Ubuntu 10.04 desktop

推荐答案


错误的名称:org / kodeplay / kodejava / NewHelloWorld

wrong name: org/kodeplay/kodejava/NewHelloWorld

cd 直到包根,所以你在包含 org 文件夹的文件夹中,然后执行

cd up to the package root, so that you're in the folder containing org folder and then do

java -cp . org.kodeplay.kodejava.NewHelloWorld

这篇关于java.lang.NoClassDefFoundError当我从终端运行java文件时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆