Java 命令提示符中的编译错误:class 文件版本 52.0 错误,应为 50.0

Java Compiling Error in Command prompt: class file has wrong version 52.0, should be 50.0

我创建了一个 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.

中创建了以下 class 库
  package Demo1_Lib;

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

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

 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; ^

我错过了什么?

您正在尝试 run/reference 使用 JDK 8 编译的 class 使用 runtime/compiler JRE/JDK 6.

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

有关数字含义的列表,请参阅 Java class file

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

在 Unix 中:

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

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

编译:

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

运行:

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