maven deploy 400失败,二次上传maven source.jar包
Posted 汪小哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven deploy 400失败,二次上传maven source.jar包相关的知识,希望对你有一定的参考价值。
1、问题
mvn仓库关闭了redeploy, 经常会遇到一些400错误,其中一个原因是一次deploy动作会执行两次sources包的发布。
原因是因为重复定义了maven-source-plugin插件,or 引入 maven-shade-plugin 导致source 执行了两次
2、解决办法
- 开发去掉自己代码里的maven-source-plugin插件,maven-source-plugin,此时如果自身的pom里也在定义一份source插件,且groupid或者artifactid不一样的情况下maven是无法仲裁掉的。这时候发布maven仓库时source包就会因为upload两遍而导致报400错误。
如何判断顶级自己继承的顶级pom里有没有这个插件,除了直接看顶级pom的内容,还可以用命令: mvn help:effective-pom 看实际生效pom的完整内容。
- 由于引入 maven-shade-plugin 导致 source 上传两次,解决办法 ,定义一个空的module 解决
由于希望将多个jar 发布到一起,导致当前spi 工程source 执行一次、maven-shade-plugin 又执行了一次?
<packaging>jar</packaging>
<groupId>xxxxx</groupId>
<artifactId>xxx-shade</artifactId>
<version>$revision</version>
<dependencies>
<dependency>
<groupId>com.xxxx</groupId>
<artifactId>xxx-spi</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<createSourcesJar>true</createSourcesJar>
<shadeSourcesContent>true</shadeSourcesContent>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
以上是关于maven deploy 400失败,二次上传maven source.jar包的主要内容,如果未能解决你的问题,请参考以下文章
maven deploy 400失败,二次上传maven source.jar包
maven deploy 400失败,二次上传maven source.jar包