maven工程修改jdk编译版本的几种方法

一.背景

maven工程修改jdk编译版本的几种方法,以前这些小细节处理了就处理了,没有去记录,现在带徒弟,就写下吧!可能不全面,不喜勿喷。哦,说下,本文的例子是在eclipse中开发截图的。

二.方法一在pom的properties中指定

在pom.xml中的properties节点添加maven.compiler.source和maven.compiler.target参数,就可以了。

XML 复制代码
	<properties>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>

可是添加后还是默认的1.7版本啊,是不是骗人的?

不是的,你把工程maven的update就好了啊。在工程上面点击鼠标右键后选择maven=>updateproject

这下不就改变了嘛?

当你把maven.compiler.source和maven.compiler.target参数定义在父工程的pom.xml中,子工程可以继承的,这样在多模块、多层级工程中,这种写法很优雅,值得推荐。

三.方法二在pom.xml中build的plugin中指定版本

XML 复制代码
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.11.0</version>
				<configuration>
					<source>1.5</source>
					<target>1.5</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>

这种方法指定后,工程上面不需要点击maven的update project,会自动刷新,马上就看到编译版本就变了。

当然,你也可以在build的编译插件中参数的形式去指定,只是一般情况需要你在properties设置值,不设置的时候,可能有默认值。

XML 复制代码
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.11.0</version>
				<configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>

当方法二一、二同时指定且不一样时,方法二即build插件指定编译版本的优先级高于properties指定编译版本的优先级,是以方法二build插件指定编译版本为准。

四.方法三在settings.xml中去指定

大概了解了一下,也是可行的,一般很少用,不推荐。推荐方法一。

五.其他方法

也许eclipse中还可以设置,这些都不推荐了。

相关推荐
utf8mb4安全女神28 分钟前
【rsyslog服务】把所有服务的“临界点”以上的错误都保存在/var/log/alert.log⽇志中
java·前端·javascript
带刺的坐椅35 分钟前
Solon Server 启动模式深度解析:从 0.3MB 内核到 10+ Server 插件
java·http·solon·jetty·undertow
郝学胜-神的一滴36 分钟前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法
掉鱼的猫1 小时前
Solon Server 启动模式深度解析:从 0.3MB 内核到 10+ Server 插件
java·http
shehuiyuelaiyuehao1 小时前
多线程入门
java·python·算法
星夜夏空991 小时前
FreeRTOS学习(7)——任务列表
java·前端·学习
han_hanker1 小时前
BeanUtils.copyProperties 和序列化的问题
java·开发语言·spring boot
野生技术架构师1 小时前
牛客网2026互联网大厂Java面试题汇总,附官方级答案解析
java·开发语言
AZaLEan__2 小时前
多源 BFS
java·开发语言·算法
程序员卷卷狗2 小时前
Java转Go面试速记:Go基础22问,一篇理清高频易错点一篇理清高频易错点
java·面试·golang