java控制台错误无法找到或加载主类

时间:2017-08-12 17:09:48

标签: java console environment-variables classpath javac

我有一个主要方法的课程。当我使用Windows命令行运行类的主方法时,编译过程使用" javac"命令工作正常(命令行的当前位置 - 具有此类的目录)。文件名为" Card.class"得到的几乎是" Card.java"文件。但命令" java Card"返回错误的描述"无法找到或加载主类"。在Intellij Idea中,这个类中的方法运行得很好。

我试图解决问题的方法(一些解决方案来自StackOverflow主题):

1)完全重新安装JDK和JRE。

2)重写了我的所有环境变量:

JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_144

JDK_HOME =%JAVA_HOME%

PATH = C:\ Program Files \ Java \ jdk1.8.0_144 \ bin

CLASSPATH =%JAVA_HOME%\ lib \ dt.jar;%JAVA_HOME%\ jre \ lib \ tools.jar

3)我为" CLASSPATH"尝试了不同的变体。环境变量。另外,我手动写了这个:" java -classpath" $ s"卡"," -classpath"的值我从Intellij Idea命令复制的参数是在IDE中运行程序后返回的。

4)在命令中尝试了类名的一些变体(来自" java Card"  to" 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

    }
}

Stacktrace我的错误:

myPathToTheProject \ src \ cards> java Card

错误:无法找到或加载主类卡

2 个答案:

答案 0 :(得分:0)

在您拥有Card.class

的位置打开CMD
 set CLASSPATH=""
 java Card

我假设您在Card.java上没有包减速

答案 1 :(得分:-1)

让我们在运行前设置类路径正确。这对我来说很好:java -cp ./ Cardjava -cp . Card。部分:-cp .-cp ./用于将类路径设置为当前文件夹。