maven工程编译生成source包

在Java服务端开发中,为方便目标工程调试,需要生成包含源码的SDK依赖包。可以通过在pom.xml中添加maven-source-plugin插件或者使用特定的mvn命令来实现。方法一是在pom.xml配置编译插件生成source包,但在发布release版本时需移除;方法二是直接使用mvn source:jar install命令。这样可以在调试时查看源码,提高开发效率。

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

开发Java服务端项目的时候,经常需要开发SDK作为依赖包提供给目标工程引用。但是目标工程在运行的调试的时候断点到依赖包里面的代码,由于依赖包的代码是编译后端class类,和源码有不少差异,不方便阅读。所以在开发的时候最好生成源码形式的依赖包,方便调试。

maven本地仓库下的依赖包结构如下

有-sources后缀的jar包是源码包,开发模式下查看源码会默认查看source包下面的源码。但是一般使用mvn install命令编译工程只会生成非源码的包。想要生成source包有两种方法。

 

方法一:

在pom.xml中添加生成source包的编译插件,如下图所示,加上maven-source-plugin这个插件就能生成source包

<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>

<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>

</plugins>
</build>

但是使用这种方法,在发布release版的包时还需要修改pom.xml文件,去掉这个plugin。

 

方法二:

直接使用不同的mvn命令编译。

使用mvn clean install 命令只会生成非源码包。

如果使用mvn source:jar install 命令进行编译就会同时生成源码包和非源码包。

mvn clean install -Dcheckstyle.skip -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -f pom.xml


mvn clean source:jar install -Dcheckstyle.skip -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -f pom.xml

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

现场喷口水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值