编译后出现“java HelloWorld”错误

Posted

技术标签:

【中文标题】编译后出现“java HelloWorld”错误【英文标题】:Error in "java HelloWorld" after compiling 【发布时间】: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 吗? 【参考方案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 的开头。谢谢!

【讨论】:

以上是关于编译后出现“java HelloWorld”错误的主要内容,如果未能解决你的问题,请参考以下文章

fluent编译UDF的过程中,出现了语法错误

在c ++中执行后出现“段错误”错误[关闭]

当我在 borland c++ 中编译程序时,出现“无法打开包含文件 'owl/owlpch.h'”错误

编译错误:cpumask.h:“and”可能不会出现在宏参数列表中

看孙鑫VC视频第7章,VC编译出现错误,不懂的是哪里错误

java HelloWorld 提示“错误: 找不到或无法加载主类 HelloWorld“解决方案