STS中maven專案打包報錯: No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 問題的解決方案

小杨加油smile發表於2024-03-28

這個報錯的意思是在這個環境中沒有編譯環境,即不存在javac.exe,
然後說一下JRE和JDK的區別:
JRE(Java Runtime Environment):
1、JRE 是 Java 執行時環境,用於在計算機上執行 Java 程式。
2、包含 Java 虛擬機器(JVM)和 Java 核心類庫,以及執行 Java 程式所需的其他支援檔案。
3、JRE 通常用於普通使用者的計算機上,用於執行 Java 應用程式,而不涉及開發工作。
JDK(Java Development Kit):
1、JDK 是 Java 開發工具包,用於開發 Java 應用程式和 Applet。
2、包含了 JRE,同時也包含了用於 Java 開發的編譯器(javac)、偵錯程式(jdb)、各種工具(如 javadoc 等)、示例程式碼和其他開發所需的檔案。
3、JDK 通常用於開發人員的計算機上,用於編寫、編譯和除錯 Java 程式碼。

分析原因:
在安裝的jdk中JRE目錄中,不存在javac.exe,而在JDK目錄中存在javac.exe命令,這就有可能是STS中配置存在錯誤!

解決方法:
windows--->preferences---->java-----> Installed JREs
JRE home 選擇的Indirectory為jre目錄:C:\Program Files\Java\jre1.8.0_191 修改為 C:\Program Files\Java\jdk1.8.0_191
如圖:

修改完後打包正常

image

相關文章