maven:shade 生成快照版本(SNAPSHOT)的fat-jar,同时生成对应的source.jar

有的时候,我们需要将项目所有依赖库打成一个fat-jar,提供给客户,同时提供对应的source.jar
这个功能很好实现在pom.xml中增加maven-shade-plugin插件执行就可以,如下:

	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-shade-plugin</artifactId>
		<version>3.1.0</version>
		<executions>
			<execution>
				<phase>package</phase>
				<goals>
					<goal>shade</goal>
				</goals>
				<configuration>
					<minimizeJar>false</minimizeJar>
					<!-- 创建source.jar -->
					<createSourcesJar>true</createSourcesJar>
					<shadedArtifactAttached>true</shadedArtifactAttached>
					<shadedClassifierName>standalone</shadedClassifierName>
				</configuration>								
			</execution>
		</executions>
	</plugin>

但是执行mvn install安装生成的jar包到本地仓库时并不会生成项目对应的source.jar.只有mvn deploy发布到远程仓库时才会安装source.jar,如果我没有远程仓库,或不想发布到远程仓库,或者我只是在开发期频繁生成快照版本(SNAPSHOT),上述的maven-shade-plugin插件就生成的source.jar并不包含项目的源码,因为它找不到项目对应的源码。

怎么办呢?经过反复摸索,找到为快照版本安装source.jar到本地仓库的办法,也很简单:
正常我们只是执行mvn install,安装快照版本到本地仓库,现在只要多一条source:jar让maven在执行install命令的同时生成source.jar并安装到本地仓库,如下:

mvn source:jar install
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值