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>

总结

多看文档多总结,多多益善。


如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页