我是Java新手。我写了一个打印“Hello World”的简单程序。我的程序编译但没有运行,但给了我这个例外:
主线程java.lang.NoClassDefFoundError中的异常:Hello错误名称:main hello
我的程序是这样的:
package main;
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
我的程序位于:\ main \ Hello.java 我搜索了很多,并以不同的方式编译,但我不明白问题是什么。任何人都可以帮助我吗?
答案 0 :(得分:0)
根据包定义,您应该在Hello.java
目录下有main
。
所以请执行以下操作。
d:>mkdir main
d:>move Hello.java main
d:>javac main\Hello.java
d:>java main.Hello
哪个会打印Hello World
。这是因为javac默认会输出.java文件旁边的.class文件。
如果您不想要此行为或者您不想移动.java
文件,那么您还可以提及输出类需要去的位置。
d:>javac -d . Hello.java
根据与当前目录相关的包定义,这将在Hello.class
目录下自动创建main
。因此,
d:>java main.Hello
还会打印Hello World
您可以了解有关如何编译java源代码here
的更多信息