我有一个在1.7版本java中运行良好的code.jar,但是当使用另一台带有1.6版本的Linux的计算机时,它给我一个错误,我怎么能在1.6版本中运行它?
答案 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)
答案 4 :(得分:0)
我在Eclipse中找到了一个解决方案!
如果您转到项目并右键单击以访问属性,则会出现一个名为Java Compiler的选项卡。如果启用项目特定属性并取消选中JDK合规性下的复选框,则可以将源兼容性和.class文件兼容性更改为1.6。
这应该可以解决您的问题,并且生成的.jar文件应该可以在两个设备上运行。我通过将文件从1.8移动到1.7并在具有OpenJDK 1.7的Raspberry Pi上进行测试来测试这一点。我希望这会有所帮助。