我在 Eclipse IDE 中运行以下代码:
public class HelloWorld {
public static void main(String[] args)
{
System.out.println("Hello World!" ) ;
}
}
并且它呈现出预期的输出。
当进入目录中的命令提示符(DOS)时,我输入以下内容
javac HelloWorld.java
然后是这个
java HelloWorld
输出结果如下
Exception in thread "main" java.lang.NoClassDefFoundError:
HelloWorld <wrong name:learning/HelloWorld>
出现了更多错误,learning 是我的通用包的名称。出了什么问题?我已经安装了 Eclipse x86 SDK 4.2.0 以及最新的 JRE 和 JDK,两者都是 64 位的。
答案1
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
我的猜测是,您是java HelloWorld
从目录内运行的learning
,对吧?但该命令期望没有任何包的类。由于它说的是wrong name:learning/HelloWorld
,这意味着它期望找到HelloWorld
该类里面包learning
/目录,不是在当前版本中。
进入一个目录向上在层次结构(cd..
)中,然后尝试使用来运行该程序
java learning.HelloWorld
。