新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:无法找到或加载主类。。。
这意味着什么,是什么导致的,你应该如何解决?
当前回答
我遇到了同样的问题,最终发现了我的错误:)我使用此命令进行编译,并且运行正常:
javac -cp "/home/omidmohebbi/AAAATest/jars/core-1.7.jar:/home/omidmohebbi/AAAATest/jars/javase-1.7.jar:/home/omidmohebbi/AAAATest/jars/qrgen-1.2.jar" qrcode.java
但这个命令对我不起作用(我找不到或加载主类qrcode):
java -cp "/home/omidmohebbi/AAAATest/jars/core-1.7.jar:/home/omidmohebbi/AAAATest/jars/javase-1.7.jar:/home/omidmohebbi/AAAATest/jars/qrgen-1.2.jar" qrcode
最后,我只在类路径末尾添加了“:”字符,问题就解决了:
java -cp "/home/omidmohebbi/AAAATest/jars/core-1.7.jar:/home/omidmohebbi/AAAATest/jars/javase-1.7.jar:/home/omidmohebbi/AAAATest/jars/qrgen-1.2.jar:" qrcode
其他回答
2022年之前的Java新版本为Java18。您只需编写package关键字和文件夹名称,其中包含java扩展文件和分号,如下所示:
包JavaProgramming;
因为我在JavaProgramming文件中有hello.java文件。注意:在为java编写文件夹名时,不要给空格。像Java编程一样,你必须保持它的样子;Java编程等;
简单hello世界的整个代码结构如下所示:
package JavaProgramming;
public class hello {
public static void main(String[] args) {
System.out.println("Hello java after long time");
}
}
我在IntelliJ中创建的演示程序遇到了这个问题。
解决这个问题有两个关键点:
程序的包名终端/cmd提示符的当前工作目录
我的演示程序:
package io.rlx.tij.c2;
public class Ex10 {
public static void main(String[] args) {
// do something
}
}
源代码路径:
../projectRoot/src/main/java/io/rlx/tij/c2/Ex10.java
转到java目录:cd/项目根/src/main/java编译到类:javac/io/rlx/tij/c2/Ex10.java运行程序:java io.rlx.tij.c2.Ex10
如果我在..中运行程序/projectRoot/src/main/java/io/rlx/tij/c2或我在没有包名的情况下运行它,我将收到以下错误:错误:无法找到或加载主类。
我在做mvn eclipse后遇到了这个错误:eclipse。这有点搞乱了我的.classpath文件。
我不得不将.classpath中的行从
<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
to
<classpathentry kind="src" path="src/main/java" output="target/classes" />
<classpathentry kind="src" path="src/main/resources" excluding="**" output="target/classes" />
解决我的问题的方法是:
右键单击要运行的项目/类,然后单击“运行方式”→ 运行配置。然后,您应该按照以下方式修复现有配置或添加新配置:
打开Classpath选项卡,单击Advanced。。。按钮,然后添加项目的bin文件夹。
在IntellijIDE中,选择run/debug>>编辑配置,然后为构建和运行菜单选择适当的JDK。