【问题标题】:Error in "java HelloWorld" after compiling编译后出现“java HelloWorld”错误
【发布时间】:2020-12-18 01:19:37
【问题描述】:

我是初学者,我正在按照cs61b 的指示在 Windows 10 上设置我的 java

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

我用javac HelloWorld.java编译后,运行java HelloWorld却报错:

Error: Could not find or load main class HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld

相反,java HelloWorld.java 有效。我想知道如何解决这个问题?谢谢!

【问题讨论】:

  • 您的 CLASSPATH 设置/变量的内容是什么?
  • 我的类路径是:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar JAVA_HOME变量是C:\Program Files\AdoptOpenJDK\jdk-14.0.2.12-热点\
  • 我通过安装 Java OpenJDK 14 (HotSpot JVM) 来安装 Java。而且我只是注意到我的 Windows 10 中已经有 Java 12。我应该卸载 Java 12 吗?

标签: java git-bash


【解决方案1】:

试试java -cp . HelloWorld。对于已编译的文件,您必须指定类所在的类路径。然后你告诉班级你的main 方法在哪里。

java HelloWorld.java 工作正常,因为您可能使用的是 Java 11+

How to execute a java .class from the command line

【讨论】:

  • 谢谢!有用!但是我安装了 Java OpenJDK 14(带有 HotSpot JVM)并且我认为“javac HelloWorld”应该可以工作,因为该说明页面的底部显示了link。我不知道是什么导致了我的问题。我只是注意到我以前在我的计算机中安装了 Java 12。这是可能的原因吗?
【解决方案2】:

当我添加“.;”时,我的问题就解决了在 CLASSPATH 的开头。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多