maven一波流(6)——解決煩人的maven工程編碼和jdk版本自動
背景
有時候拿過別人的工程使用,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>
總結
多看文件多總結,多多益善。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4289/viewspace-2816424/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- maven的編碼問題、解決和疑問Maven
- 沒有JDK和Maven,用Docker也能構建Maven工程JDKMavenDocker
- maven 使用Maven編譯專案遇到——“maven編碼gbk的不可對映字元”解決辦法Maven編譯字元
- maven 修改使用jdk版本MavenJDK
- 設定maven預設的jdk版本MavenJDK
- MyEclipse - 修改Maven預設的Jdk版本EclipseMavenJDK
- 新版mac配置多版本JDK切換和maven套件MacJDKMaven套件
- 設定Maven預設的JDK為1.7,解決Update Maven Project預設為1.5和Maven打包報錯2個問題MavenJDKProject
- 解決IDEA建立maven工程失敗的一種方法IdeaMaven
- maven異常:Updating Maven Project 的統一解決方案MavenProject
- Maven-Maven統一管理依賴的版本Maven
- Maven Dependency Version:依賴版本自動升級Maven
- svn and maven 自動部署shell指令碼Maven指令碼
- 無法識別maven web工程的解決方法MavenWeb
- maven的pom.xml用解決版本問題MavenXML
- maven缺失ojdbc6解決方法(手動安裝ojdbc6)MavenJDBC
- maven錯誤解決:編碼GBK的不可對映字元Maven字元
- maven更改編譯環境的java版本Maven編譯Java
- Eclipse中的maven工程缺少maven dependenciesEclipseMaven
- maven 在pom檔案下配置預設的jdk版本MavenJDK
- maven工程轉web工程MavenWeb
- Maven 使用指定 Java 版本編譯專案MavenJava編譯
- 解決maven update project 後專案jdk變成1.5的問題MavenProjectJDK
- 理解Maven中的SNAPSHOT版本和正式版本Maven
- 如何在eclipse中的maven中永久修改jdk的版本號EclipseMavenJDK
- eclipse 建立maven專案設定預設jdk版本EclipseMavenJDK
- Maven專案目錄結構與自動建立maven目錄Maven
- 【Maven篇】---解決Maven線上部署java.lang.ClassNotFoundException和no main manifest attribute解決方法MavenJavaExceptionAI
- ssm整合(maven版本)SSMMaven
- Maven:自動化構建工具Maven
- maven自動化構建工具Maven
- 在IDEA中maven工程中父工程不顯示的解決辦法IdeaMaven
- maven mybatis-generator 外掛自動生成程式碼MavenMyBatis
- MAC中安裝JDK、MavenMacJDKMaven
- 解決maven專案控制檯資訊亂碼Maven
- Jenkins和maven自動化構建java程式JenkinsMavenJava
- maven工程指定版本號並開啟預覽特性Maven
- Maven工程 服務提供方啟動時沒有Starting ProtocolHandler的 解決方法MavenProtocol