1

我在命令行上运行 java 时遇到问题。我检查了很多其他问题,但没有一个能解决我的问题。

我正在使用Windoze 10 x64.

安装在C:\Program Files\Java,我有以下文件:

jdk1.8.0_121jre1.8.0_121

我已经设置了,JAVA_HOME如下:PATHCLASSPATH

  • JAVA_HOME as C:\Program Files\Java\jdk1.8.0_121

  • PATH as %JAVA_HOME%/bin

  • CLASSPATH as %JAVA_HOME%/lib

这是系统变量的当前配置。我为配置尝试了很多变体,但似乎没有任何帮助。比如添加到PATH%JAVA_HOME%\jre1.8.0_121\bin中也是如此。似乎没有任何帮助。

如果我运行java -versionjavac -version它们将通过,显示当前安装的版本。

我也可以编译,例如:javac HelloWorld.java成功。

当我尝试java HelloWorld时,我得到了Could not find or load main class HelloWorld

这是HelloWorld.java文件:

    public class HelloWorld{
        public static void main(String [] args){
            System.out.println("Hello World!");
        }
    }

我花了 +2 小时试图解决这个问题。我确信这是一个新手错误,但老实说,我只是想设置它,以便我可以开始学习 Java。

IntelliJ IDEA Community Edition我可以使用控制台运行 java,但不能直接在 CMD 上运行。

如果您能像 LI5 那样引导我,我将不胜感激,我真的在寻找解决方案,观看了有关如何设置系统变量的视频,但它没有产生任何结果。

如果您需要更多信息,我很乐意提供,谢谢。


编辑:好的,问题解决了。感谢 @azurefrog 和 @mirmdasif 帮助我解决这个问题。

正如您可以在 azurefrog 的评论和 mirmdasif 的回复中阅读此处和下方的内容,您需要将当前工作目录添加到CLASSPATH.

CLASSPATH通过将.(点)添加到CLASSPATH.

所以CLASSPATH应该看起来像这样:(.;%JAVA_HOME%/lib注意.后面是分号;

4

3 回答 3

1

问题出在你的CLASS_PATH变量上。

指定类路径的首选方法是使用 -cp 命令行开关。这允许为每个应用程序单独设置 CLASSPATH 而不会影响其他应用程序

ClassPath 变量的默认值为'.' 这意味着只搜索当前目录。如果您指定类路径变量,则默认值将被覆盖。

如果要将类路径设置为环境变量,您可以在 cmd 提示符下运行以下 cmd(记住开头的点)

C:> set CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_121\lib\*

更多信息http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html

于 2017-02-15T05:55:19.433 回答
0

每当您收到以下消息时,只需在类路径中更新您的环境变量:错误:无法找到或加载主类 XXX

然后浏览到 C:\Program Files\Java\jre1.8.0_181

于 2018-10-01T04:36:48.350 回答
0

有时候这种情况会发生。你应该尝试在 中找到java.exeC:\Windows\System32如果它在那里你需要删除它。

示例:Java Windows7 System32 文件夹 java.exe

于 2017-02-15T05:19:53.837 回答