因此,当我尝试从命令提示符打开一个不在包中的 java 类时,一切正常,但是当我尝试打开包中的类时,它会给我 NoClassDefFoundError。 当我尝试打开类(java somepackage/someclass)时列出包时,它说它无法加载或找到主类。
有什么帮助吗?
最佳答案
我可以推断,你有两个类(class):
测试.java:
// no package defined here
class Test{
public static void main(String[] args){
System.out.println("Test");
}
}
这样你就可以使用以下命令编译并运行它:
javac Test.java
java Test
另一类:
测试.java:
package test; // package defined here
class Test{
public static void main(String[] args){
System.out.println("Test");
}
}
因此做同样的事情会给你带来错误。 为此,您需要位于终端或 cmd 中“test”文件夹的父目录中并使用:
java test.Test
编译器没有问题。您可以像往常一样使用“test”文件夹中的 javac Test.java 进行编译。
关于java - 在Java中从控制台打开包中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422662/