我有一个在 1.7 版本的 java 中运行良好的 code.jar,但是当使用另一台带有 1.6 版本的 linux 的计算机时,它给了我一个错误,我怎样才能在 1.6 版本中运行它?
5 回答
调用时使用交叉编译选项javac
。
如果仅按照-target
大多数其他回复中的建议指定选项,则 1.7 SDK 将发出有关-bootclasspath
. 该选项需要一个rt.jar
目标 JRE 版本(注意不是JDK)。它允许编译器检查引用核心 Java SE 的代码的类、方法和属性是否实际存在于rt.jar
. 这对于确保兼容性非常重要。
如果代码未使用较旧的 Java 兼容性标志编译,您将无法在 1.6 上运行它。
在 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 编译器,取消选中“启用项目特定设置”,单击“配置工作区设置”,然后选择 1.6 作为您的编译器合规级别。
做“事情”来再次导出你的项目,新的 jar 应该可以工作。
希望这可以帮助。
我在 Eclipse 中找到了解决方案!
如果您转到您的项目并右键单击以访问属性,则会出现一个名为 Java Compiler 的选项卡。如果启用项目特定属性并取消选中 JDK 合规性下的复选框,则可以将源兼容性和 .class 文件兼容性更改为 1.6。
这应该可以解决您的问题,并且生成的 .jar 文件应该可以在两个设备上运行。我通过将文件从 1.8 移动到 1.7 并在我的具有 OpenJDK 1.7 的 Raspberry Pi 上进行测试来测试这一点,效果很好。我希望这有帮助。