这台计算机安装了多个版本的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时,我缺少了哪些没有正确更新的设置?或者我完全找错了地方?或者我需要完全卸载以前的版本吗?如果需要,这会对使用这些以前的版本编写的、我仍然希望保留的代码产生什么影响?
提前感谢!
4条答案
按热度按时间ar7v8xwq1#
我偶然发现了这个问题和修复!虽然新的安装更改了库属性中的Java平台,以正确地指向JDK 15作为新的(默认值),在“源”区域中,朝向底部,它使源代码/二进制格式仍然显示JDK 11。手动将其更改为JDK 15使警告消失。警告消息应该说明“源代码/二进制格式”的效果与库Java平台不匹配-请检查相应的版本。”
ryoqjall2#
有时会因为java更新而发生。当需要新版本时,它会告诉你删除旧版本。如果你没有这样做,这个原因会让你感到困惑。你可以更好地使用旧版本来解决这个问题。也许这能帮助你。
7kqas0il3#
我也收到了同样的警告,在我的例子中,这是一个错误,导致在运行mvn命令时构建失败。我使用的是jdk 16,也安装了11。在我的例子中,除了从我的mac上完全卸载java并从https://adoptopenjdk.net/上重新安装我需要的版本外,没有什么能修复它。
hgc7kmma4#
您需要更新JAVA_HOME环境变量。
在Mac上更新您的
~/.bash_profile
或~/.zshrc
。确定您已经安装了想要的版本,并将-v##
设置为想要使用的版本。例如,要使用Java11,
要使用Java17,
在Windows上,将系统环境变量更改为新的java版本。
Heres how! (Confluence)