我正在开发一个基于cloudsim3.0项目的大学项目。我使用jdk 7而cloudsim使用jdk 1.3。所以我必须改变一切:泛型,for-each
循环,等等。我从NetBeans收到的一些错误是:
如何将jdk版本从1.3更改为7? 感谢
答案 0 :(得分:1)
通常,您希望在比部署到的Java版本更高的Java版本中进行开发。 NetKans使用的JDK中的java编译器不支持将Java 7源代码编译为1.3字节码,因此需要使用其他编译器。
我花了一些时间来调查这个目标Java 1.4,你可以直接在Eclipse里面使用Eclipse编译器,或者作为ecj(从命令行替换为javac)可以在ant中使用,或者您可以使用Retroweaver,它主动将字节代码转换为早期版本。
您可能会考虑咬住子弹并将Java 1.3用于您的项目,因为如果您的代码因任何原因无效,它会从您需要调查的内容中删除所有这些神奇的项目符号。
答案 1 :(得分:1)
您的问题有点困惑,但如果您正在询问如何编译JDK 1.3的Java 7源代码,则最有意义。
答案是你做不到。这些构造(泛型,for-each循环,字符串开关)都需要更现代的目标平台。
理论上,你有两种可能的解决方案:
从代码中删除所有Java 5,6,7-isms并使用-source 1.3 -target 1.3
进行编译。 (或者下载并安装旧的Java 1.3 JDK。)
使用Java 7 JVM运行CloudSim3.0代码。它应该有效,除非它取决于已修复的旧错误。