我目前正在开发一种古老的Web应用程序。在与老板的讨论中,我提到应用程序正在使用Java 1.4
。然后,他打断了我,然后说该项目实际上正在使用Java 1.5
。我打开了我的工作区,并说明了为什么我说项目使用的是Java 1.4。我导航到Project Properties > Build Path > Libraries
,此处列出的是 JRE系统库[J2SE-1.4] 。
Window > Preferences > Java > Compiler
,然后在 JDK合规性部分中,编译器合规级别的值为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
?
答案 0 :(得分: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;
答案 1 :(得分:2)
Window > Preferences > Java > Compiler
:指定当前工作空间中项目要使用的默认编译级别。它还使用Window > 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