Java在主线程Java.lang.NoClassDefFoundError中引发异常 我是java初学者,不是OOP,我有C和C++和PHP5的一些经验 简而言之,我有“hello world”测试程序 package com.tutorial.helloworld; public class helloWorld { public static void main(String[] args) { System.out.print("hello world!!!\n"); } }

Java在主线程Java.lang.NoClassDefFoundError中引发异常 我是java初学者,不是OOP,我有C和C++和PHP5的一些经验 简而言之,我有“hello world”测试程序 package com.tutorial.helloworld; public class helloWorld { public static void main(String[] args) { System.out.print("hello world!!!\n"); } },java,eclipse,error-handling,Java,Eclipse,Error Handling,当我在控制台中用javac编译时,编译没有错误,但是当我运行javahelloworld时 说 在eclipse中运行ok。若我删除包语句并手动编译,将运行ok。但如果我保留包语句,则会抛出该错误。 我应该将类文件放在com/tutorial/helloworld子目录中吗?这样可以吗?我应该如何从终端和哪个目录运行 我在MacOSX上,我习惯于在编辑和编译中键入代码,并从控制台运行 而不是在冰上跑步。我不能让Eclipse为C++(C++ IDE)工作,因此我试图用我知道的所有语言或我所学的语

当我在控制台中用javac编译时,编译没有错误,但是当我运行javahelloworld时 说

在eclipse中运行ok。若我删除包语句并手动编译,将运行ok。但如果我保留包语句,则会抛出该错误。 我应该将类文件放在com/tutorial/helloworld子目录中吗?这样可以吗?我应该如何从终端和哪个目录运行

我在MacOSX上,我习惯于在编辑和编译中键入代码,并从控制台运行
而不是在冰上跑步。我不能让Eclipse为C++(C++ IDE)工作,因此我试图用我知道的所有语言或我所学的语言来坚持控制台。

< P>爪哇中的类名由包名+类的“名字”组成。所以写

java com.tutorial.helloworld.helloWorld

您还必须知道
.class
文件的位置。您必须位于包含
com
目录的目录中,才能执行此操作,
.class
文件位于
com/tutorial/helloworld
目录中。

能否显示用于运行它的确切命令?您的类路径可能有问题(或者没有包含helloWorld的包名)。运行java时您是否在
/bin
中?此外,java中的约定是类名大写(因此是helloWorld,而不是helloWorld)。请参阅我运行javac helloWorld.java进行编译,并运行exec java helloWorld。或者将包含
com/tutorial/helloWorld/helloWorld.class
的目录位置添加到类路径。我理解,所以需要包的dir结构,并使用上述命令运行
java com.tutorial.helloworld.helloWorld