【发布时间】: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