【问题标题】:Java Compiling Error in Command prompt: class file has wrong version 52.0, should be 50.0 [duplicate]命令提示符中的 Java 编译错误:类文件的版本错误 52.0,应该是 50.0 [重复]
【发布时间】:2015-07-06 13:12:49
【问题描述】:

我创建了一个 java 库程序并在另一个 java 程序中使用它作为 .jar 文件。我的 IDE 是 NetBeans。我通过命令行尝试了相同的概念,但出现以下错误:

类文件的版本错误 52.0,应该是 50.0 请删除或 确保它出现在类路径的正确子目录中。 导入Demo1_Lib.Test1; ^

这是我的步骤。

第 1 步:在 NetBeans IDE 中创建以下类库。

  package Demo1_Lib;

 /**
  *
  * @author tveluppillai
 */
public class Test1 
{
  public void print() 
  {
    System.out.println("hello");
  }    
 }

第 2 步: 在 netbeans 上创建一个 java 项目并添加 jar 文件。 (Test1.jar) 并使用类库函数。

 package test2;

 import Demo1_Lib.Test1;

 /**
 *
    * @author tveluppillai
 */

  public class Test2 
  {

   /**
    * @param args the command line arguments
    */
    public static void main(String args[]) 
   {
     Test1 obj = new Test1();
     obj.print();       
    }

 } 

这编译得很好,当我运行时,它在 NetBeans 中为我提供了正确的输出

但是,当我使用命令提示符执行相同操作时,出现错误。

我使用以下命令编译并运行它。

javac -cp C:\\Demo_Lib\\Test\\Test1.jar Test2.java

我收到以下错误:

类文件的版本错误 52.0,应该是 50.0 请删除或 确保它出现在类路径的正确子目录中。 导入Demo1_Lib.Test1; ^

我错过了什么?

【问题讨论】:

  • 在我将正确的版本更改为 JDK 1.8 之后。我收到以下错误:包 Demo1_Lib 不存在。
  • this。我是怎么找到的?在stackoverflow中搜索“java包不存在”...
  • 虽然问题被标记为重复 - 它并不完全是重复的,因为引用的问题是 IDE 特定的,而这是更通用的。此处接受的答案也得到了更好的解释! >>> "尝试使用运行时/编译器 JRE/JDK1.6 运行/引用使用 JDK 8 编译的类"

标签: java compilation version


【解决方案1】:

您正在尝试使用运行时/编译器 JRE/JDK 6 运行/引用使用 JDK 8 编译的类。

命令行使用的 Java 可能与 NetBeans 使用的版本不同。

请参阅Java class file 了解这些数字的含义。

下载 JDK8,或者如果你已经拥有它,将它添加到你的路径并设置 JAVA_HOME。

在 Unix 中:

export JAVA_HOME=directory
export PATH=$PATH:$JAVA_HOME/bin

【讨论】:

  • 我能够编译代码。
  • 好的 - 但这确实是一个重复的问题。如果您将错误消息粘贴到 Google 中,您将得到答案 - class-file-has-wrong-version-52-0-should-be-50-0
  • 如何设置JAVA_HOME?并将其添加到路径中?
【解决方案2】:

在我将JDK8更改为我的JAVA_HOME后,我能够通过以下方式编译并运行代码...

编译:

     javac -cp C:\\Demo_Lib\\Test\\Test1.jar Test2.java

运行:

     javac -cp C:\\Demo_Lib\\Test\\Test1.jar;**.** Test2.java

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多