maven一波流(6)——解決煩人的maven工程編碼和jdk版本自動切換問題
阿新 • • 發佈:2018-12-19
背景
有時候拿過別人的工程使用,update project之後發現編碼不對,中文全部亂碼,然後jdk也自動變成了1.5版本,專案報了一大堆錯誤。
這時候老手心裡還是很淡定,右擊專案,在屬性裡修改下編碼,然後在build path裡面改下jdk版本,搞定。
後來再update project編碼和jdk又自動變回去了,於是乎大怒,無奈又重新操作一遍。
周而復始,甚為有趣。
問題分析
肯定是maven引起的,因為用maven update的時候才出現這問題。
怎麼修改,肯定一個是修改maven整個的配置檔案,也就是maven安裝目錄下的conf目錄下的settings.xml,然後修改了之後eclipse也得知道這個修改,得從eclipse的首選項preferences裡面更新下配置,最後改下專案的pom.xml配置檔案。
這樣從maven到eclipse到工程全部統一了,應該OK。
具體實施
首先改下settings.xml
開啟我計算機目錄D:\Tool\\apache-maven-3.5.3\\conf
在<profiles>
和</profiles>
中間新增如下程式碼,就是指定JDK為1.8版本。
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
< jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</ properties>
</profile>
然後改下eclipse的首選項
點選eclipse選單Window-Preferences-Maven-User Settings,將Global和User的Settings都設定為剛剛修改過的配置檔案,並且點選Update Settings後Apply。
修改專案maven配置檔案pom.xml
開啟專案pom.xml檔案,在 <plugins>
和</plugins>
之間新增兩個外掛,用於指定資原始檔編碼,指定編譯的jdk版本並制定編譯字符集編碼。
<!-- 本外掛解決資原始檔編碼問題 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<!-- 本外掛用於指定maven編譯的jdk版本。maven3預設用jdk1.5,maven2預設用jdk1.3。 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<!-- 原始碼使用的JDK版本 -->
<source>1.8</source>
<!-- 生成的目標版本 -->
<target>1.8</target>
<!-- 字符集編碼 -->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
總結
多看文件多總結,多多益善。