maven一波流(6)——解決煩人的maven工程編碼和jdk版本自動

farsun發表於2021-09-09

背景

有時候拿過別人的工程使用,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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章