【发布时间】:2020-07-16 05:10:05
【问题描述】:
我使用低于 IDE 使用的系统环境 JAVA_HOME (1.8) (14) 启动 NetBeans IDE 12.0。 Maven 执行的 IDE 输出窗口似乎显示该项目是使用 JAVA_HOME for JDK 14 运行的,以这种方式运行项目文件。
但是 exec-maven-plugin 失败并显示 java.lang.UnsupportedClassVersionError: com/mycompany/Start has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
这似乎表明 Maven 在 IDE 中运行在 1.8 下,忽略了 IDE 自己的 JAVA_HOME 覆盖设置 14。它使用 JAVA_HOME 中设置的 JDK,因为如果我在 IDE 启动之前将 JAVA_HOME 设置为 14.0,那么它可以工作。
我正在寻找正确的方法,正确的位置,专门为任何项目设置 JDK,无论 IDE 启动时激活的 JAVA_HOME 设置如何。
我的案例可以通过运行安装了 JDK 14.0 但 JAVA_HOME 设置为 1.8 的 IDE 12.0 来重现。在 IDE 启动之前。我使用从https://wicket.apache.org/start/quickstart.html 的命令生成的 Maven 项目 - 全部设置为默认值。要运行的文件是 Start.java。
这对我很重要,因为我必须使用不同的 JDK 打开许多不同的项目,因此每次使用不同的 JAVA_HOME 设置重新启动 IDE 是不切实际的。事实上,我的设置似乎定义不明确 - 我一定遗漏了一些东西。
我应该在项目属性中添加,我已按预期将 Build|Compile|Java Platform 设置为 JDK 14(默认)。
我已经提交了NetBeans Issue
【问题讨论】: