簡體   English   中英

Java 警告:[選項] 系統模塊路徑未與 -source 11 一起設置

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

這台機器已經安裝了多個版本的 Java JDK 和多個版本的多個 IDE(Netbeans,IntelliJ,Eclipse 等)最近,我添加了 JDK 15.0.2 和 Netbeans 12.2。 嘗試編譯一個簡單的“Hello World”時,結果為 output:

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 class path not set”而不是“system modules path not set”

我更新了我的環境變量以反映最新的 JDK 條目:JAVA_HOME=C:\Program Files\Java\jdk-15.0.2

當我更新我的 JDK 和我的 IDE 時,我缺少什么設置沒有正確更新? 還是我完全找錯地方了? 或者我是否需要完全卸載以前的版本,如果是這樣,這對使用我仍想保留的那些以前的版本編寫的以前的代碼有何影響?

提前致謝!

我偶然發現了這個問題和修復,雖然新安裝更改了庫屬性中的 Java 平台,以正確指向 JDK 15 作為新的(默認),在源區域,朝向底部。 它使源代碼/二進制格式仍然顯示 JDK 11。手動將其更改為 JDK 15 使警告 go 消失。 警告消息應該說明“源/二進制格式”與庫 Java 平台不匹配 - 檢查相應版本。

有時會因為 java 更新而發生。 當需要較新版本時,它會說您刪除舊版本。 如果你不這樣做,這個原因會令人困惑。 您可以更好地使用舊版本來解決這個問題。 也許這可以幫助你。

我有這個完全相同的警告,在我的例子中,它以錯誤結束,並導致在運行 mvn 命令時構建失敗。 我使用的是 jdk 16,也安裝了 11。 就我而言,除了從我的 mac 完全卸載 java 並從https://adoptopenjdk.net/重新安裝我需要的版本之外,沒有任何修復。

您需要更新 JAVA_HOME 環境變量。

在 Mac 上更新您的~/.bash_profile~/.zshrc 確保你有你想要安裝的版本,並使-v##成為你想要使用的版本。 例如,

要使用 Java 11,

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

要使用 Java 17,

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

在 Windows 上,將系統環境變量更改為新的 java 版本。

就是這樣! (合流)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM