Java在主线程java.lang.NoClassDefFoundError中引发异常

时间:2014-01-22 20:14:57

标签: java eclipse error-handling

我是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");
      }

}

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

 Exception in thread "main" java.lang.NoClassDefFoundError: helloWorld (wrong name:  
 com/tutorial/helloworld/helloWorld)  and much more code

在eclipse中运行正常。如果我删除包语句并手动编译将运行正常。但如果我保持包语句抛出那个错误。 我应该将类文件放在com / tutorial / helloworld子目录中,那么我应该如何从终端和目录运行?

我在mac os x上,我用来在编辑和编译中键入代码并从控制台运行 而不是在冰上跑。我无法使eclipse适用于c ++(c ++ ide),因此我尝试使用我所知道或学习的所有语言来坚持使用控制台。

1 个答案:

答案 0 :(得分:2)

在Java中,类名由包名+类的“名字”组成。因此写

java com.tutorial.helloworld.helloWorld

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