2013-08-06 17 views
1

我目前正在研究一个旧的Web应用程序。在与老板的讨论中,我提到应用程序使用Java 1.4。然后,他打断了我,然后说这个项目实际上使用Java 1.5。我打开了我的工作区,并说明了为什么我说该项目使用Java 1.4的原因。我导航到Project Properties > Build Path > Libraries,这里列出的是JRE系统库[J2SE-1.4]Eclipse - 如何知道'真正'的Java版本的Web应用程序?

然后,他接过控制,然后把我带到Window > Preferences > Java > Compiler然后在JDK符合性部分,编译器合规性水平的值是1.5

另一件让我认为该项目使用1.4的原因是,List对象没有参数化类型,Eclipse也没有为它们生成警告。 此外,当我键入List<String>,日食给了我一个错误说

语法错误,如果源级别是1.5参数化类型才可用。

这使我相信应用程序正在使用Java 1.5。但在我目前的职位上(初级开发人员),我需要确保在与我的老板进行辩论之前,我的假设是非常正确的。所以,我的问题是,我如何才能真正了解应用程序正在使用的Java版本?在

Project Properties > Build Path > Libraries

Window > Preferences > Java > Compiler什么是Java版本之间的区别说?

回答

3

你的老板给你看的是已安装的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;

+0

谢谢您的输入。是的,“Project Facet”也是1.4。那么,我该如何让JDK 1.5为该项目生成Java 1.5代码呢?此外,切换是否会影响应用程序中的任何内容(语法/逻辑)? – Bnrdo

+0

在项目属性上,您可以检查Java编译器部分...并禁用“启用项目特定设置”。您也可以将Project Facet编辑为1.5 ...最后,您可以将Java Build Path中的J2SE 1.4条目编辑为J2SE 1.5条目..或者直接指定1.5 JDK以使用 –

+0

谢谢。 +1已接受。 – Bnrdo

2

Window > Preferences > Java > Compiler:指定当前工作区中的项目使用的默认编译级别。它也使用在Window > Preferences > Java > Installed JREs

Project Properties > Build Path > Libraries指定的默认JRE:指定由选定的项目中使用的JRE,默认情况下它会为工作区指定的默认JRE,但它是可以改变的。该项目使用的编译级可以在位置Project Properties > Java Compiler被发现,这也默认会从工作区复制,但可以为单个项目

在你的情况下,由于Project Properties > Build Path > Libraries有Java 1.4中,它是用java 1进行修改。4并确保您可以访问的编译器合规性级别Project Properties > Java Compiler

+0

感谢您的意见。 +1 – Bnrdo

相关问题