防止每次update maven 自動更新為1.5 方法
Maven專案在Update Maven之後JRE被改成1.5的解決方法
一、Maven Update 後 JDK變成1.5
在Eclipse中新建了一個Maven工程、然後更改JDK版本為1.7或者以上、結果每次使用Maven > Update project的時候JDK版本都恢復成1.5。
二、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.8解決方案
在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.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
有了如上配置、在每次更新之後專案的java版本就會是java 1.7了、所有的誤報錯也就隨之消失了。
第二種方法
這個需要把專案開啟,找到如圖所示:.settings資料夾
開啟org.eclipse.wst.common.project.facet.core.xml 這個檔案,如圖:
將 <installed facet="jst.web" version="3.0"/>的version的值改為3.0(報錯的是什麼版本,改成相應的版本即可)。