【问题标题】:Java not running on cmd and ide even after setting PATH [duplicate]即使在设置 PATH 之后,Java 也无法在 cmd 和 ide 上运行 [重复]
【发布时间】:2020-11-01 08:40:48
【问题描述】:

所以我之前只使用过python,并决定学习java作为我的第二语言。我已经安装了jdk(jdk-14.0.1)和jre(jre1.8.0_251)文件。现在我将PATH添加为C:\Program Files\Java\jre1.8.0_251\bin。现在当我在 cmd 提示符下运行 java 时,我得到了一个很大的文档,我认为这是成功添加 PATH 的证明。

但是当我在 atom 上运行代码时(是的,我已在 atom 中将文件格式设置为 java),我仍然收到此错误:

Selection Based runner not available for Java.

现在我还在记事本中创建了一个测试文件:

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

当我在 cmd 提示符下运行它时:

javac test.java 然后

java test

我收到Error: Could not find or load main class test

我做错了什么

【问题讨论】:

标签: java


【解决方案1】:

定义为public class MyClass

那么你会得到异常

错误:无法找到或加载主类
引起:java.lang.ClassNotFoundException

说明类名和文件名的区别,可以解决 通过重命名其中任何一个。

对于您的其他问题,UnsupportedClassVersionError,以下是兼容性列表:

报告的主要数字是:

Java SE 14 = 58,
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

为了生成与 Java 1.4 兼容的类文件,请使用以下命令行:

javac -target 1.4 HelloWorld.java

希望这会有所帮助。加油!!!

【讨论】:

  • 所以我应该下载另一个版本的jre?
  • 如果您不想下载任何代码,也可以按照建议的方式编译代码。
  • 这有帮助,但我应该如何在 atom 上运行我的代码,因为它显示 Selection Based runner not available for Java.
  • 将文件名更改为MyClass 也适用于原子。但是我应该如何在不保存的情况下做同样的事情,因为在 python 中我不必保存文件,只需更改从纯文件格式到python。这在JAVA的情况下不起作用吗?
  • 首先将您尝试运行的文件保存为适当的格式,然后尝试运行它,应该可以工作。
【解决方案2】:

您的类名应与文件名

相同

要编译 Java 代码,文件必须具有扩展名 .java。文件名必须与类名匹配。 Java 不要求该类是公共的。

【讨论】:

    【解决方案3】:

    MyClass 应该在一个文件MyClass.java 中与类名相同。然后你可以这样做:
    javac MyClass.java
    java MyClass

    【讨论】:

      【解决方案4】:

      类名和文件名应该相同。将test.java 更改为MyClass.java。此外,您应该确保 JDK 和 JRE 的版本相同。例如,您有 JDK 14 和 JRE 8。您应该有 JDK 14 和 JRE 14 或 JDK 8 和 JRE 8。

      【讨论】:

      • 我试过了,但是好像有这个错误:Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: MyClass has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0
      猜你喜欢
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      相关资源
      最近更新 更多