解決MAVEN專案在UPDATE MAVEN之後JRE被改成1.5的問題
阿新 • • 發佈:2019-01-31
宣告:本文轉載自 http://dditblog.com/itshare_578.html
一、MAVEN UPDATE JDK變回1.5
在Eclipse中新建了一個Maven工程、然後更改JDK版本為1.7或者以上、結果每次使用Maven > Update project的時候JDK版本都恢復成1.5、很是奇怪、然後寫的@Override就會報錯
二、JDK1.5原因分析
後來查了一下原因、Maven官方文件有如下描述:
譯器外掛用來編譯專案的原始檔從3.0版本開始、用來編譯Java原始檔的預設編譯器是javax.tools.JavaCompiler (如果你是用的是java 1.6)、如果你想強制性的讓外掛使用javac、你必須配置外掛選項 forceJavacCompilerUse
同時需要注意的是目前source選項和target 選項的預設設定都是1.5、與執行Maven時的JDK版本無關、如果你想要改變這些預設設定、可以參考 Setting the -source and -target of the Java Compiler中的描述來設定 source 和target 選項
這是Maven已知的一個特性。除非在你的POM檔案中顯示的指定一個版本,否則會使用編譯器預設的source/target版本1.5、主要還是在於Eclipse中Maven的整合方式起到了關鍵作用、它會從POM檔案中生成專案的.project,.classpath以及.settings、因此除非POM檔案指定了正確的JDK版本、否則你每次更新專案配置的時候它都會重置到1.5版本
三、JDK1.7解決方案
在pom.xml檔案中增加如下配置
</project><build><finalName>income</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins></build></project>
宣告:本文轉載自 http://dditblog.com/itshare_578.html