2016-04-27 72 views
1

背景

安装了JDK v1.8.0_92和NetBeans v8.0.2多种平台,一个JDK安装

问题

该项目需要Java平台1.7,如下所示:

NetBeans Project Properties

问题

是否有可能使用JDK 1.8和设定1.7作为目标平台?如果是这样,怎么样?

其他细节

设置目标构建(通过附加的编译器选项)不影响目标平台,如下所示:

NetBeans Target Build

我下我需要安装JDK 1.8(需要PMD)和JDK 1.7(该项目需要)。

理想情况下,我想避免在同一台机器上安装多个JDK。我怀疑这是不可能的,因为1.7平台中的功能可能在1.8版本中被删除(例如,不推荐使用的方法)。

回答

2

不仅可以在同一台计算机上安装多个JDK,大多数开发人员在您的情况下最终都会这样做。唯一需要注意的是路径(和JAVA_HOME)同时存在多个JDK(显然,路径上的JDK应该与JAVA_HOME中的JDK匹配,通过将%JAVA_HOME%\ bin添加到路径env中很容易确保VAR)在1.7平台

功能可能会在1.8

的JDK被删除是众所周知的向后兼容。那里有东西从Java 1中遗留下来,并且可能永远不会被删除(对一些java开发人员不利,包括我在内)。一些常见的(恼人的)例子是Thread.stop(),一些类中的serialVersionUid奇怪的值,由于Java 4兼容性而导致的对泛型的不完全支持,原始Container类和AWT的持续存在以及更多。

更大的担心实际上是安装和使用JDK 8和针对Java 7(通过指定-target,就像你在截图中所做的那样)。这里面的风险是,你会不小心导入和java 8的新东西,在这一点上,jdk8会很乐意生成java7兼容的字节码,这将无法找到你在运行时使用的类/方法。我只是在某处(如c:\ dev \ tools \ jdks)提取一堆JDK,并根据需要配置不同的IDE项目以使用不同的IDE项目。我不喜欢让他们“安装”。