新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
当前回答
在这种情况下,我犯了这样一个错误:
java -cp lib.jar com.mypackage.Main
它与以下各项一起工作:;对于Windows和:对于Unix:
java -cp lib.jar; com.mypackage.Main
其他回答
在IntelliJ IDEA中,检查您的全局库*和本地库检查库版本文件pom.xml,可能是旧库前面的答案中提到了很多可能性,也需要尝试
在搜索了两天后,我找到了这个解决方案,并成功了。这很奇怪,但它对我有用。
package javaapplication3;
public class JavaApplication3 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
System.out.println("Hello");
}
}
这是我要运行的程序,位于C:\Java Projects\JavaApplication3\src\JavaApplication3
现在在此位置打开cmd并使用此命令编译程序
javac JavaApplication3.java
编译完成后,向下导航一个目录,即C:\Java Projects\JavaApplication3\src
现在运行以下命令以执行程序
java javaapplication3.JavaApplication3
如果您的情况与我的情况特别相似,这可能会对您有所帮助:作为初学者,我在尝试运行Java程序时也遇到了这个问题。
我是这样编译的:
javac HelloWorld.java
我也尝试使用相同的扩展名运行:
java Helloworld.java
当我删除.java并重写类似javaHelloWorld的命令时,程序运行得很好。:)
这是一个具体的案例:
Windows(通过Windows7测试)不接受类和包名称中的特殊字符(如á)。不过,Linux确实如此。
我在NetBeans中构建.jar并尝试在命令行中运行时发现了这一点。它在NetBeans中运行,但不在命令行上运行。
我以为我不知怎么设置了错误的类路径,但问题是我键入了:
java -cp C:/java/MyClasses C:/java/MyClasses/utilities/myapp/Cool
而不是:
java -cp C:/java/MyClasses utilities/myapp/Cool
我认为完全限定的意思是包含完整的路径名而不是完整的包名。