2009-12-14 69 views

回答

2

我建议最安全的(也许是最简单的)方式是使用JDK 1.4至编译,并使用JRE 1.6 运行

-1

我会做的是从Eclipse的设置中删除那些您不想使用的JDK/JRE。在你的情况下,这将是1.5和1.6。

要做到这一点,请转到Windows-> Preferences,然后在左上角键入“JRE”。

我也会检查在哪个JRE Eclipse中启动,也许编辑你的eclipse.ini。

6

确保您的项目中还使用了1.4 JRE系统库。 1.4编译器设置更改将写入类文件的功能,但它不会限制从项目库中可以看到的功能。

打开项目的属性并检查在“Java Build Path” - >“Libraries” - >“JRE System Library”下找到的内容。点击“编辑”更改或添加新的Java版本。

+0

因此,无法指示编译器在1.4项目中包含的JRE 1.6系统库中使用1.5/1.6 API时抛出错误/警告类路径? – raatprohory 2009-12-14 11:45:24

+0

当然不是。从编译器的角度来看,rt.jar只是类路径中的另一个JAR。它并不“知道”那里的课程对你来说意味着什么。 – 2009-12-14 15:20:08

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合同中的一个...)