1. 程式人生 > >No compiler is provided in this environment . Perhaps you are running on a jre rather than a JDK?

No compiler is provided in this environment . Perhaps you are running on a jre rather than a JDK?

背景:利用IDEA+maven構建一個非web的spring boot專案(Windows電腦下),程式碼完成時,使用mvn package打包報錯: No compiler is provided in this environment . Perhaps you are running on a jre rather than a JDK?

在網上試了很多方法,有一種方法可行:

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<fork>true</fork>
					<executable>C:\Program Files\Java\jdk1.8.0_171\bin\javac</executable>
				</configuration>
			</plugin>

還有一種方法,這個錯誤其實是maven找不到javac命令,maven是根據系統的java路徑去找的,在命令列中輸入where java顯示:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

這個是系統的java路徑,不是自己安裝的java8路徑。再次輸入where javac卻顯示找不到javac路徑,到剛剛的C:\Program Files (x86)\Common Files\Oracle\Java\javapath中去檢視,確實沒有javac命令:

這就是為什麼一直報錯的原因了,解決辦法是在系統變數裡進行如下設定:

 

最後記得重啟一下電腦即可。