我是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),因此我尝试使用我所知道或学习的所有语言来坚持使用控制台。
答案 0 :(得分:2)
在Java中,类名由包名+类的“名字”组成。因此写
java com.tutorial.helloworld.helloWorld
您还必须知道.class
文件的位置。您必须位于包含com
目录的目录中才能使用此目录,.class
文件位于com/tutorial/helloworld
目录中。