maven入坑日记之maven-gpg-plugin

发现的一个bug工具包是maven-gpg-plugin包;

因为此包执行逻辑有坑,他是按照口令顺序从前到后执行的。

 

 

举例:我要上传jar包到maven中央仓库。按照要求我应该生成XX.jar、XX-source.jar、XX-javadoc.jar 以及他们对应的XX.jar.asc、XX-source.jar.asc、XX-javadoc.jar.asc签名文件。

 

经测试,如果使用口令

mvn clean javadoc:jar source:jar install gpg:sign

可以正常生成全套的符合规定的包及签名。

但是我需要上传,也就是deploy命令。

当使用语句

mvn clean javadoc:jar source:jar deploy gpg:sign

时,发现了bug。deploy执行时将生成的XX.jar、XX-source.jar、XX-javadoc.jar 上传到仓库中,然后本地生成了签名,未进行上传。

 

这时,我测试了调整顺序,将gpg:sign放到前面。

mvn clean javadoc:jar source:jar gpg:sign deploy

发生了情况,生成并上传的包含XX.jar、XX-source.jar、XX-javadoc.jar、XX-source.jar.asc、XX-javadoc.jar.asc,缺少了XX.jar.asc签名;这是因为签名执行时,还未生成XX.jar包。也就是说,deploy生成完直接就上传仓库了。

 

对于此bug无法解决,只能通过gpg包自动执行解决。

 

然后才是我的问题来源,纠结了好几天终于找到了问题,因为我的项目是父项目+子项目,出现问题的是子项目。后来发现因为父项目中使用pluginManagement后未在子项目中显式声明,所有我使用口令可以调用,如果不使用则默认不执行。经过修改后,问题解决。

 

注:pluginManagement 表示父项目指定的工具包,如果不使用口令调用,将不会自动引用。

如果需要自动执行的话,需要在子项目中显式引用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值