我有一个主法课。当我使用Windows命令行运行类的主要方法时,使用"javac"命令的编译过程工作良好(命令行的当前位置-包含此类的目录)。命名为"CARK.class"的文件几乎被创建为"CARD.java"文件。但是命令"Java卡"返回描述"找不到或加载主类"的错误。在intellij思想中,类中的这个方法完全有效。

我试图解决这个问题(有些解决方案取自StackOverflow主题):

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

2)重写所有环境变量:

JavaHoe= C:程序文件javajdk1.80y144

jdk_home=%java_home%

PATH=C:程序文件javajdk1.801414bin

类路径=%java_home%libdt.jar;%java_home%jrelibools.jar

3)我为"classpath"环境变量尝试了不同的变体。此外,我手动编写了"Java -类路径"$s"卡",其中"I-类路径"参数的值从ItILLJ思想命令复制,在IDE中运行程序后返回。

4)在命令中尝试类名的变化(从Java卡)到源项目目录中的"JavaPaskayNo.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查找我的错误:

MyPATToTeSSRCCARKJAVA卡

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

请重新格式化您的代码以便阅读。

在命令行的"位置"在项目的源文件夹(SRC):"Java卡。卡"之前,我尝试过这个命令。它不起作用。但当我手动添加-cp作为命令参数时,它确实做到了。所以,阮晋勇的解决方案真的很有帮助。我的classpath环境变量出了点问题,很明显其他人也有可能发生这种情况。这里有一个类似的问题:stackoverflow.com/questions/18093928/…,最好的答案(加上两个最上面的投票)是为这个问题描述另一个解决方案。

关于"简单印刷错误":screenshot.su/show.php?img=1CF41C141FDC9BD60056965B7BA6793F.‌&8203;JPG

在card.class所在的位置打开cmd。

set CLASSPATH=""

java Card

我假设你在card.java上没有包减速。

不,同样的错误出现了。

另外,您发布的代码不包含包声明,问题非常类似。如果您的类中有包减速,比如说"package cards",那么您可以像javac card.java一样编译它,而不会出现问题。但是如果你尝试运行它,它将抛出"主未找到"异常,你需要升一级并执行"Java卡"。不知道还会发生什么。

正如我在问题中所描述的,我也厌倦了这些变化,但是如果不将类路径设置到项目的源文件夹中,它就没有帮助。

您发布的原始代码没有"package cards;"。正如我所提到的,问题是"另外,您所发布的代码不包含包声明,问题是非常相似的。如果您的类中有package declaration,比如说"package cards",那么您可以像javac card.java一样编译它,而不会出现任何问题。但是如果你尝试运行它,它会抛出一个"主未找到"的异常,你需要升一级并执行"Java卡"。

我不明白你对"包裹减速"有什么看法。在你说"声明"之后,我更新了我的问题。顺便问一下:screenshot.su/show.php?img=1CF41C141FDC9BD60056965B7BA6793F.‌&8203;JPG

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