【问题标题】:Multiple Platforms, One JDK Installation多平台,一个JDK安装
【发布时间】:2016-04-27 23:17:09
【问题描述】:

背景

已安装 JDK v1.8.0_92 和 NetBeans v8.0.2

问题

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

问题

是否可以使用 JDK 1.8 并将 1.7 设置为目标平台?如果有,怎么做?

其他详情

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

我的印象是我需要安装 JDK 1.8(PMD 需要)和 JDK 1.7(项目需要)。

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

【问题讨论】:

    标签: java netbeans java-8 java-7


    【解决方案1】:

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

    1.7 平台中的功能可能已在 1.8 中删除

    JDK 是出了名的向后兼容。那里有 Java 1 遗留下来的东西,可能永远不会被删除(对一些 Java 开发人员不利,包括我在内)。一些常见的(烦人的)示例是 Thread.stop()、某些类上的 serialVersionUid 的奇怪值、由于 java 4 兼容性而对泛型的不完全支持、原始 Container 类和 AWT 的继续存在等等。

    更大的担忧实际上是安装和使用 JDK 8 并以 java 7 为目标(通过指定 -target,就像您在屏幕截图中所做的那样)。这里的风险是你会不小心导入一些对 java 8 来说是新的东西,此时 jdk8 会很乐意生成与 java7 兼容的字节码,而这些字节码将无法找到你在运行时使用的类/方法。

    就个人而言,在 Windows 上,我所做的只是在某处提取一堆 JDK(例如 c:\dev\tools\jdks)并根据需要配置不同的 IDE 项目以使用不同的项目。我不喜欢“安装”它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多