如何使用旧版本的java 1.6运行.jar 1.7程序?

时间:2012-08-22 20:43:12

标签: java eclipse jar

我有一个在1.7版本java中运行良好的code.jar,但是当使用另一台带有1.6版本的Linux的计算机时,它给我一个错误,我怎么能在1.6版本中运行它?

5 个答案:

答案 0 :(得分:3)

在调用javac时使用cross-compilation options

如果在大多数其他回复中仅指定了-target选项,则1.7 SDK会发出有关-bootclasspath的警告。该选项需要rt.jar目标JRE版本(注意 JDK)。它允许编译器检查引用核心Java SE的代码的类,方法和属性是否实际存在于rt.jar中。这对于确保兼容性非常重要。

答案 1 :(得分:1)

如果代码未使用较旧的Java兼容性标志进行编译,则无法在1.6上运行它。

答案 2 :(得分:1)

在eclipse中使用Java 6构建项目,您需要下载Java 1.6 JRE,然后将eclipse指向1.6 JRE,请参阅:http://www.cleartoolkit.com/dokuwiki/doku.php?id=clearwiki:20.cleardatabuilder:01.setup:01.prerequisites

现在右键点击你的项目 - >单击属性,单击Java Compiler,取消选中“启用项目特定设置”,单击“配置工作区设置”,然后选择1.6作为编译器合规级别。

再次导出你的项目做“事情”,新的jar应该工作。

希望这会有所帮助。

答案 3 :(得分:0)

我认为您不能使用较低版本运行更高版本的类。

另一种方法可能是将set target version编译为1.6。

示例:

javac yourFile.java -target 1.6

答案 4 :(得分:0)

我在Eclipse中找到了一个解决方案!

如果您转到项目并右键单击以访问属性,则会出现一个名为Java Compiler的选项卡。如果启用项目特定属性并取消选中JDK合规性下的复选框,则可以将源兼容性和.class文件兼容性更改为1.6。

这应该可以解决您的问题,并且生成的.jar文件应该可以在两个设备上运行。我通过将文件从1.8移动到1.7并在具有OpenJDK 1.7的Raspberry Pi上进行测试来测试这一点。我希望这会有所帮助。