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

Tev*_*elu 3 java compilation version

我创建了一个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");
  }    
 }
Run Code Online (Sandbox Code Playgroud)

步骤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();       
    }

 } 
Run Code Online (Sandbox Code Playgroud)

这样可以很好地编译,并且在我运行时可以在NetBeans中提供正确的输出

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

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

javac -cp C:\\Demo_Lib\\Test\\Test1.jar Test2.java
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

类文件的版本号为52.0,应为50.0,请删除或确保其显示在类路径的正确子目录中。导入Demo1_Lib.Test1; ^

我想念什么?

rgh*_*ome 5

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

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

有关数字含义的列表,请参见Java类文件

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

在Unix中:

export JAVA_HOME=directory
export PATH=$PATH:$JAVA_HOME/bin
Run Code Online (Sandbox Code Playgroud)