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