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包

maven deploy 400失败,二次上传maven source.jar包

Nexus3私服 基于命令行上传文件

maven deploy jar包到远程仓库400

Maven maven-deploy-plugin 总是上传两次