我有一个类的主要方法。当我使用Windows命令行来运行该类的主要方法时,使用“javac”命令的编译过程效果很好(命令行的当前位置 - 具有此类的目录)。名为“Card.class”的文件几乎被创建为“Card.java”文件。但命令“java card”返回错误,描述为“无法找到或加载主类”。在Intellij Idea中,这个方法在这个类中工作得很好。java控制台错误无法找到或加载主类
我所试图做的解决(解决了一些从StackOverflow的主题拍摄)问题:
1)JDK和JRE的完全重新安装。
2)重写了我所有的环境变量:
JAVA_HOME = C:\ Program Files文件\的Java \ jdk1.8.0_144
JDK_HOME =%JAVA_HOME%
PATH = C:\ Program Files文件\爪哇\ jdk1.8.0_144 \ BIN
CLASSPATH =%JAVA_HOME%\ lib中\ dt.jar;%JAVA_HOME%\ JRE \ lib中\的tools.jar
3)我尝试不同的变化为“CLASSPA TH“环境变量。另外,我手动编写了这个文件:“java -classpath”$ s“Card”,其中“-classpath”参数的值是从Intellij Idea命令复制的,在IDE中运行该程序后已返回。
4)尝试命令中的类名的一些变体(从源项目目录中的“java card” 变为“java package_name.Card”)。所有这些变体都被命令行识别,返回相同的错误。
我在想“classpath”变量的问题,但是我发现的所有解决方案都为这个变量建议了不同的值,并且他们中的任何一个都工作了。之前提到了变量的上次更新值。
这里是我的类(可能的问题是在这里):
package cards;
public class Card {
//Constants, constructor, getters, setters, validation checking methods
public static void main(String[] args) {
// Just to see in the command line that the method was invoked
System.out.println("WORK");
// "assert" checks for constants values
}
}
堆栈跟踪了我的错误:
myPathToTheProject的\ src \卡> Java卡
错误:无法找到或加载主类卡
请重新格式化您的代码,以便阅读。 – UmarZaii
之前,当命令行的“位置”位于项目的源文件夹(src)中时,我尝试了此命令:“java cards.Card”。它不起作用。但是,当我手动添加-cp作为命令参数时,确实如此。所以Tuyen Nguyen的解决方案确实有帮助。这是我的CLASSPATH环境变量的错误,显然可能发生在其他人身上。类似的问题在这里:https://stackoverflow.com/questions/18093928/what-does-could-not-find-or-load-main-class-mean?rq=1,最好的答案(加上两个顶级投票)正在为此描述另一个解决方案。 –
关于“简单的印刷错误”:http://screenshot.su/show.php?img = 1cf41c141fdc9bd60056965b7ba6793f.jpg –