【问题标题】:Error executing Java program : Could not find or load main class [duplicate]执行 Java 程序时出错:找不到或加载主类 [重复]
【发布时间】:2014-09-10 18:57:13
【问题描述】:

我正在上 Udemy 课程,但我被困在第一节课上,通过 java 获取命令提示符以编写“Hello world”。我的错误是一旦我编译了它,它就会创建类文件,我尝试通过它不运行的“java HelloWorld”运行它。错误是。

Error: Could not find or load main class HelloWorld

我想不通,这是一张截图,显示了我所拥有的一切:https://app.box.com/s/4heybbazxswm4otjazrw

我查看了我的课堂讨论,没有人遇到错误,而且没有任何 StackOverflow 主题似乎是同样的问题。

【问题讨论】:

标签: java class


【解决方案1】:

您的CLASSPATH 未设置(或未正确设置)。来自 Java 教程,

CLASSPATH 变量是告诉应用程序(包括 JDK 工具)在哪里查找用户类的一种方式。

但是,您也可以使用 -cp 参数(也别名为 -classpath)指定 Java 运行时的 CLASSPATH。用冒号分隔的文件夹列表和用于搜索类文件的 jar/zip 文件。

这就是为什么

java -cp . HelloWorld

允许 JRE 找到 HelloWorld.class。你也可以设置 CLASSPATH。

【讨论】:

  • 我确实遵循了教程的那部分......他们一定有些古怪。目前对于我编写的 ClassPath 变量。好吧,最初我将 PATH 更改为 C:\Program Files\Java\jdk1.8.0_11\bin;但是,您建议我更改 CLASSPATH,因此我将其设置为相同。我仍然需要使用 -cp 参数,否则我会收到错误消息。
  • 我的意思是您需要您的应用程序位于 CLASSPATH 中指定的文件夹中,或者您需要使用-cp。或者,您可以使用-jar。或者,您可以尝试使用 IDE。我建议您再次阅读本教程的该部分。
  • 等等,所以 CLASSPATH 变量需要指向我正在执行所有 java 工作的文件?
  • 目录,不是文件。并且包括,它不一定是排他性的。
  • 好的,只是为了确保在正确的页面上,我需要一些词汇帮助。目录 = 基本上是一个文件夹,对吧?包含和排除在这个意义上是什么意思?
猜你喜欢
  • 2018-11-02
  • 2014-06-25
  • 2016-12-17
  • 2020-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-17
  • 2023-03-03
相关资源
最近更新 更多