我目前正在开发一种旧的 Web 应用程序。在与老板的讨论中,我提到该应用程序正在使用 Java 1.4
.然后,他打断了我的话,然后说这个项目其实是用Java 1.5
.我打开我的工作区并显示我说该项目使用 Java 1.4 的原因。我导航到 Project Properties > Build Path > Libraries
,此处列出的是 JRE 系统库 [J2SE-1.4]。
然后他接管了控制权,然后把我带到了Window > Preferences > Java > Compiler
然后在 JDK Compliance 部分,Compiler compliance level 的值为 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
?
最佳答案
您的老板向您展示的是已安装的 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 ;
关于java - Eclipse - 如何知道 'real' Java 版本的 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18071021/