Intellij idea Language level和Java Compiler版本自動變化問題
阿新 • • 發佈:2018-11-04
概述
最近將Intellij Idea的版本升級之後,在對maven專案進行編譯或打包時,經常出現一大堆的錯誤,錯誤的提示基本上都是jdk版本不正確導致的語法錯誤。剛開始沒太留意,以為是預設配置沒有修改。於是把Settings中的Java Compiler和Project
Settings中的Language level都改為自己使用的版本,比如jdk1.7,問題暫時得到解決。可是下次編譯或打包又會偶然出現同樣的問題(後來發現之所以偶然出現是因為對pom檔案改動才會出現)。
原因分析
經排查,原來是這個問題的根源在於maven的pom.xml檔案中未配置jdk版本導致。當未配置jdk版本時,一旦pom檔案發生變化,Java Compiler和Language level會自動變回到原來的預設1.5版本。
解決方案
在pom檔案中新增maven-compiler-plugin外掛,並指定jdk使用的jdk版本即可解決上面問題。maven-compiler-plugin的配置同時對Java compiler和Language level同時生效。
配置內容如下:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>
本人現在使用的jdk7,因此配置1.7。遇到類似問題,可根據具體使用的jdk版本配置相應的版本號。