netbeans Java警告:[选项]系统模块路径未与-source 11一起设置

flvlnr44  于 2022-11-10  发布在  Java
关注(0)|答案(4)|浏览(328)

这台计算机安装了多个版本的Java JDK和多个版本的IDE(Netbeans、IntelliJ、Eclipse等)。最近,我添加了JDK 15.0.2和Netbeans 12.2。当尝试编译一个简单的“Hello World”时,会产生以下输出:

ant -f C:\\Data\\NetBeans\\grading\\TestGrading -Dnb.internal.action.name=run.single -Djavac.includes=testgrading/HelloWorld.java -Drun.class=HelloWorld run-single

init:

Deleting: C:\Data\NetBeans\grading\TestGrading\build\built-jar.properties

deps-jar:

Updating property file: C:\Data\NetBeans\grading\TestGrading\build\built-jar.properties

Compiling 1 source file to C:\Data\NetBeans\grading\TestGrading\build\classes

**warning: [options] system modules path not set in conjunction with -source 11**

**1 warning**

compile-single:

run-single:

Hello World!

BUILD SUCCESSFUL (total time: 1 second)

正如您所看到的,文件编译并运行,但警告引起了我的关注。我在搜索中没有找到类似的警告...(所有警告都是指“bootstrap类路径未设置”,而不是“系统模块路径未设置”
我已经更新了我的环境变量以反映最新的JDK,其中包含以下条目:Java_HOME=C:\程序文件\Java\jdk-15.0.2
在我更新JDK和IDE时,我缺少了哪些没有正确更新的设置?或者我完全找错了地方?或者我需要完全卸载以前的版本吗?如果需要,这会对使用这些以前的版本编写的、我仍然希望保留的代码产生什么影响?
提前感谢!

ar7v8xwq

ar7v8xwq1#

我偶然发现了这个问题和修复!虽然新的安装更改了库属性中的Java平台,以正确地指向JDK 15作为新的(默认值),在“源”区域中,朝向底部,它使源代码/二进制格式仍然显示JDK 11。手动将其更改为JDK 15使警告消失。警告消息应该说明“源代码/二进制格式”的效果与库Java平台不匹配-请检查相应的版本。”

ryoqjall

ryoqjall2#

有时会因为java更新而发生。当需要新版本时,它会告诉你删除旧版本。如果你没有这样做,这个原因会让你感到困惑。你可以更好地使用旧版本来解决这个问题。也许这能帮助你。

7kqas0il

7kqas0il3#

我也收到了同样的警告,在我的例子中,这是一个错误,导致在运行mvn命令时构建失败。我使用的是jdk 16,也安装了11。在我的例子中,除了从我的mac上完全卸载java并从https://adoptopenjdk.net/上重新安装我需要的版本外,没有什么能修复它。

hgc7kmma

hgc7kmma4#

您需要更新JAVA_HOME环境变量。

在Mac上更新您的~/.bash_profile~/.zshrc。确定您已经安装了想要的版本,并将-v##设置为想要使用的版本。例如,

要使用Java11,

export JAVA_HOME=`/usr/libexec/java_home -v11`

要使用Java17,

export JAVA_HOME=`/usr/libexec/java_home -v17`

在Windows上,将系统环境变量更改为新的java版本。

Heres how! (Confluence)

相关问题