新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
当前回答
我有一个奇怪的:
错误:无法找到或加载主类mypackage.App
结果发现,我的项目的POM.xml文件中编码了对POM(父级)的引用(我的项目POM.xml指向父级POM.xml),并且relativePath关闭/错误。
以下是我项目pom.xml文件的一部分:
<parent>
<groupId>myGroupId</groupId>
<artifactId>pom-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../badPathHere/pom.xml</relativePath>
</parent>
一旦我解决了POM relativePath,错误就消失了。
想想看吧
其他回答
如果源代码名为HelloWorld.java,则编译代码将为HelloWorld.class。
如果使用以下方法调用它,则会出现该错误:
java HelloWorld.class
相反,请使用以下方法:
java HelloWorld
如果此问题与Eclipse相关:
尝试将项目添加到类路径中。
请参见下图:
这种方法对我有效。
在IntelliJ IDEA中,检查您的全局库*和本地库检查库版本文件pom.xml,可能是旧库前面的答案中提到了很多可能性,也需要尝试
根据错误消息(“找不到或加载主类”),有两类问题:
找不到Main类无法加载Main类(在接受的答案中未充分讨论此情况)
当完全限定类名中存在拼写错误或语法错误,或者提供的类路径中不存在Main类时,找不到Main类。
当无法启动类时,无法加载Main类。通常,主类扩展另一个类,而该类不存在于提供的类路径中。
例如:
public class YourMain extends org.apache.camel.spring.Main
如果不包括骆驼弹簧,将报告此错误。
如果您的情况与我的情况特别相似,这可能会对您有所帮助:作为初学者,我在尝试运行Java程序时也遇到了这个问题。
我是这样编译的:
javac HelloWorld.java
我也尝试使用相同的扩展名运行:
java Helloworld.java
当我删除.java并重写类似javaHelloWorld的命令时,程序运行得很好。:)