有没有办法限制配置了1.4编译器合规级别的java项目使用系统正在使用1.6 JRE的1.5 / 1.6特定API?
在我的项目中仅设置1.4编译器合规性级别并不警告我特别使用1.5 / 1.6特定java.lang.String
方法。
答案 0 :(得分:6)
确保您还在项目中使用1.4 JRE系统库。 1.4编译器设置会更改将写入类文件的功能,它不会限制您从项目中的库中看到的内容。
打开项目的属性并检查“Java Build Path”下的内容 - > “图书馆” - > “JRE系统库”。单击“编辑”以更改或添加新的Java版本。
答案 1 :(得分:2)
我建议最安全(也许最简单)的方法是使用JDK 1.4 编译,使用JRE 1.6 运行。
答案 2 :(得分:1)
您需要1.4 JRE中的rt.jar
(例如安装1.4 JRE)。如果使用javac
,请使用以下选项:
javac -source 1.4 -target 1.4 -bootclasspath /path/to/j2se1.4/lib/rt.jar [...]
使用后来JRE中的javac
意味着它应该减少旧源的错误,尽管它可能不一定完全是“错误兼容”。
您可能还想使用-Djava.ext.dirs=directories
和-Djava.endorsed.dirs
,但将内容放在这些目录中通常是一个坏主意。
注意:即使1.5已完成其服务终止期限。获得1.6! (或者购买我们出色的Java for Business合同......)
答案 3 :(得分:-1)
我要做的是从Eclipse的设置中删除那些你不想使用的JDK / JRE。在你的情况下,这将是1.5和1.6。
要执行此操作,请转到Windows->偏好设置,然后在左上角键入“JRE”。
我还会检查启动的JRE Eclipse,并可能编辑你的eclipse.ini。