浅谈几大常用maven插件作用

本文介绍了多个Maven插件的功能,如maven-compiler-plugin可设置编译项目的JDK版本与编码,maven-jar-plugin用于打无依赖jar包等。还对比了assembly与shade插件对xsd文件的不同处理方式,最后阐述了Maven打jar包的三种方式及查看使用方法的参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仅个人看法,如有不对的地方,请各位大佬指正。

参考:

1. https://blog.youkuaiyun.com/bluishglc/article/details/7596118

2. https://blog.youkuaiyun.com/ziwuzhulin/article/details/87799485

3. https://blog.youkuaiyun.com/qq_39653507/article/details/82191445

 

maven-compiler-plugin

设置编译项目jdk版本与编码,target版本一定大于等于source版本,编译源文件版本(source)与目标得到的class文件版本(target)可不一致,例如编译需用jdk1.7版本,得到的class需要能通过jdk1.8版本的情况


maven-jar-plugin

打jar包,无依赖包。package中指定jar,不单独在plugin中指定,使用默认版本


maven-dependency-plugin

依赖处理插件,与maven-jar-plugin一起使用,可打能正常运行完整的jar包


maven-assembly-plugin:

将项目打成可执行的jar包,主要打发布包使用,通过一个xml文件定义更多自定义打包项


maven-shade-plugin

将项目打成可执行的jar包


assembly与shade的区别

对xsd文件的处理方式不同,assembly是找到一个放入最终打出的jar包里,但是这样有个问题是当工程依赖到不同版本的依赖包时只能将某一个版本的xsd配置文件放入最终打出的jar包里,这就有可能遗漏了一些版本的xsd的本地映射,会报错;shade插件打包时在对spring.schemas文件处理上,它能够将所有jar里的spring.schemas文件进行合并,在最终生成的单一jar包里,spring.schemas包含了所有出现过的版本的集合


maven-war-plugin

打war包,有依赖包。package中指定war,不单独在plugin中指定,使用默认版本


maven-surefire-plugin

Maven通过Maven Surefire Plugin插件执行单元测试。(通过Maven Failsafe Plugin插件执行集成测试),也可用于打包时跳过测试


spring-boot-maven-plugin

能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。否则不管打的是jar包还是war包,都会提示(MANIFEST.MF中)找不到主清单

 

maven打jar包的三种方式

1. 使用maven-jar-plugin和maven-dependency-plugin插件打包

2. 使用maven-assembly-plugin插件打包

3. 使用maven-shade-plugin插件打包

具体使用方法查看参考3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值