命令提示符 : class file has wrong version 52. 0 中的 Java 编译错误,应为 50.0

标签 java compilation version

<分区>

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

class file has wrong version 52.0, should be 50.0 Please remove or make sure it appears in the correct sub directory of the class path. import 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

我收到以下错误:

class file has wrong version 52.0, should be 50.0 Please remove or make sure it appears in the correct sub directory of the class path. import Demo1_Lib.Test1; ^

我错过了什么?

最佳答案

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

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

参见 Java class file有关数字含义的列表。

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

在 Unix 中:

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

关于命令提示符 : class file has wrong version 52. 0 中的 Java 编译错误,应为 50.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29906659/

相关文章:

graphics - 如何使用 ocamlopt 的 Graphics 模块编译 ocaml 程序?

c++ - 如何在linux下基于caffe编译cpp

java - 创建.java文件并在运行时将其编译为.class文件

version - 在 ASP.NET Core 1.0.0 Web 应用程序中显示项目版本

java - 当我们有更简单的方法时为什么要使用同步关键字

java - 在 Spring MVC Hibernate 应用程序中使用属性文件时抛出错误?

java - 用于拆分成分度量和单位的高效正则表达式

iphone - 根据 iOS 版本启用不同的功能

linux - git版本在windows和linux之间是否兼容

java - Mapstruct:嵌套对象的自定义映射方法