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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 沒有JDK和Maven,用Docker也能構建Maven工程JDKMavenDocker
- MyEclipse - 修改Maven預設的Jdk版本EclipseMavenJDK
- 解決IDEA建立maven工程失敗的一種方法IdeaMaven
- 新版mac配置多版本JDK切換和maven套件MacJDKMaven套件
- Maven Dependency Version:依賴版本自動升級Maven
- maven的pom.xml用解決版本問題MavenXML
- maven缺失ojdbc6解決方法(手動安裝ojdbc6)MavenJDBC
- Maven 自動化部署Maven
- Maven自動化部署Maven
- 如何在eclipse中的maven中永久修改jdk的版本號EclipseMavenJDK
- 【Maven篇】---解決Maven線上部署java.lang.ClassNotFoundException和no main manifest attribute解決方法MavenJavaExceptionAI
- 在IDEA中maven工程中父工程不顯示的解決辦法IdeaMaven
- 解決maven update project 後專案jdk變成1.5的問題MavenProjectJDK
- Maven 自動化構建Maven
- Maven工程 服務提供方啟動時沒有Starting ProtocolHandler的 解決方法MavenProtocol
- IDEA建立Maven工程IdeaMaven
- ssm整合(maven版本)SSMMaven
- maven工程指定版本號並開啟預覽特性Maven
- 解決Intellij IDEA2018 的 maven專案每次啟動後都恢復到1.5的JDKIntelliJIdeaMavenJDK
- MAC中安裝JDK、MavenMacJDKMaven
- maven mybatis-generator 外掛自動生成程式碼MavenMyBatis
- 解決專案版本衝突——maven-shade外掛使用Maven
- Maven:自動化構建工具Maven
- maven自動化構建工具Maven
- maven 不能設定為web3.0人解決方法MavenWeb
- Maven+Eclipse工程搭建MavenEclipse
- Maven工程依賴配置Maven
- 解決maven專案控制檯資訊亂碼Maven
- 解決 Delegate IDE build/run actions to Maven 編譯兩次的問題IDEUIMaven編譯
- 解決eclipse的maven依賴報錯EclipseMaven
- Spring Boot 2.5.6、JDK 17 和 Maven 的完整開源專案Spring BootJDKMaven
- 如何建立一個Maven專案(eclipse版本)MavenEclipse
- maven環境下建立一個spring的java工程MavenSpringJava
- maven 工程匯入jar包MavenJAR
- Maven(個人整理)(一,未完待續)Maven
- 深入瞭解gradle和maven的區別GradleMaven
- Maven解決repository不更換的問題Maven
- maven “Generating project in Batch mode“問題的解決MavenProjectBAT