前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >maven:shade 生成快照版本(SNAPSHOT)的fat-jar,同时生成对应的source.jar

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

作者头像
10km
发布2021-03-02 16:24:58
8870
发布2021-03-02 16:24:58
举报
文章被收录于专栏:10km的专栏10km的专栏

有的时候,我们需要将项目所有依赖库打成一个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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-02-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档