背景
安装了JDK v1.8.0_92和NetBeans v8.0.2。
问题
该项目需要Java平台1.7,如下所示:

问题
是否可以使用JDK1.8并将1.7设置为目标平台?如果是这样的话,是怎么做的?
更多细节
设置目标构建(通过附加编译器选项)不会影响目标平台,如下所示:

我的印象是,我需要同时安装JDK1.8(PMD所需)和JDK1.7(项目所需)。
理想情况下,我希望避免在同一台机器上安装多个JDK。我怀疑这是不可能的,因为1.7平台中的功能可能已经在1.8中被删除(例如,废弃的方法)。
发布于 2016-04-28 01:05:42
不仅可以在同一台计算机上安装多个JDK,而且大多数开发人员最终都会这样做。唯一需要注意的是同时在路径上的多个JDK (和JAVA_HOME) (很明显,路径上的JDK应该与JAVA_HOME中的JDK相匹配,最容易通过向路径env添加%JAVA_HOME%\bin来确保)
1.7平台中的功能可能在1.8中被删除
众所周知,JDK是向后兼容的。其中有些东西是从Java 1中留下的,很可能永远不会被删除(包括我在内的一些java开发人员)。一些常见的(恼人的)例子是Thread.stop()、某些类上serialVersionUid的奇怪值、由于java 4兼容性而对泛型的不完全支持、原始容器类和AWT的继续存在,以及更多,更多。
更重要的是实际安装和使用JDK 8并针对java 7(通过指定-target,就像在屏幕截图中那样)。这里的风险是,您可能会意外地导入和java 8中新的内容,此时jdk8将很高兴地生成兼容java 7的字节码,这些字节码将无法找到您在运行时使用的类/方法。
就个人而言,在windows上,我所做的只是在某个地方提取一堆JDKs (比如c:\dev\tools\jdks),并根据需要配置不同的IDE项目以使用不同的项目。我不喜欢“安装”它们。
https://stackoverflow.com/questions/36902558
复制相似问题