2

我目前正在开发一个有点旧的 Web 应用程序。在与我的老板讨论时,我提到该应用程序正在使用Java 1.4. 然后,他打断了我,然后说这个项目实际上是在使用Java 1.5. 我打开了我的工作区,并说明了我说该项目使用 Java 1.4 的原因。我导航到Project Properties > Build Path > Libraries,这里列出的是JRE System Library[J2SE-1.4]

然后他接管了控制权,然后将我带到Window > Preferences > Java > CompilerJDK 合规性部分,编译器合规性级别的值为 1.5

让我认为该项目使用 1.4 的另一件事是因为List对象没有参数化类型,并且 Eclipse 不会为它们生成警告。另外,当我输入时List<String>,eclipse给我一个错误说

语法错误,参数化类型仅在源级别为 1.5 时可用

这使我确信该应用程序使用的是 Java 1.5。但在我目前的职位(初级开发人员)中,我需要在与老板辩论之前确保我的假设是正确的。所以,我的问题是,我如何真正知道应用程序正在使用的 Java 版本?中所述的Java版本有什么区别

Project Properties > Build Path > Libraries

Window > Preferences > Java > Compiler?

4

2 回答 2

4

你老板给你看的是安装的 JDK/JRE,它是 1.5,但是这些是向后兼容的,所以你可以制作一个 1.5 的 JDK 来生成 1.4 兼容的代码。这就是您在项目属性上看到的(这是查看的正确位置)

所以,

Window > Preferences > Java > Compiler:已安装 JDK 和工作区级编译器设置。在您的情况下,安装了 1.5 JDK,配置为编译 1.5 代码

Project Properties > Build Path > Libraries:项目特定设置,覆盖工作区设置。在您的情况下,使用 1.5 JDK 的 J2SE 1.4 兼容性来生成 1.4 代码。

您还可以看到项目方面(Java),它应该说 1.4 ;

于 2013-08-06T02:52:14.507 回答
2

Window > Preferences > Java > Compiler:指定当前工作空间中的项目要使用的默认编译级别。它还使用指定的默认 JREWindow > Preferences > Java > Installed JREs

Project Properties > Build Path > Libraries:指定所选项目使用的 JRE,默认情况下它将是为工作区指定的默认 JRE,但可以更改。项目使用的编译级别可以在该位置找到Project Properties > Java Compiler,默认情况下这也是从工作区复制的,但可以针对单个项目进行修改

在您的情况下,因为Project Properties > Build Path > Libraries有 java 1.4,它使用 java 1.4 并确保您可以访问的编译器合规级别Project Properties > Java Compiler

于 2013-08-06T02:52:27.880 回答