我设法以一种方式构建了一个Maven项目,使发布部署工件增加一倍或根本不增加。
由于项目使用了我们公司的抽象父POM,所以发布相关代码有点困难,但我会尝试。
第一件事。父POM具有以下定义:
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<deployAtEnd>true</deployAtEnd>
</configuration>
</plugin>
在实际项目中没有定义任何内容的情况下,发布将在以下行之后失败:
[INFO] [INFO] Uploaded to our_repo: http://acme.org/nexus/content/repositories/org.acme.project/1.0.0/org.acme.project-1.0.0-sources.jar (14 kB at 3.8 kB/s)
[INFO] [INFO] Uploading to our_repo: http://acme.org/nexus/content/repositories/org.acme.project/1.0.0/org.acme.project-1.0.0-sources.jar
我们的回购协议不喜欢有两个版本相同的发布jar,所以一切都失败了。奇怪的是,部署还没有结束。事实上,项目构建中途失败。
但是,如果我在项目中复制上述插件,则生成将打印
Deploying repo:org.acme.repo:1.0.0 at end
在同一位置,然后不要在最后展开另一个东西。
但我甚至不确定这是问题的一部分。不过,我认为无论插件定义在哪里,两个构建的工作方式都应该完全相同。
我找到了
this question
,这让我检查了
maven-source-plugin
在有效的POM中。但是,没有重复:
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
<configuration>...</configuration>
</execution>
</executions>
</plugin>
中未定义任何内容
maven-assembly-plugin
或者,因此没有添加用于部署的JAR(建议在
this question
)
它可能与我们使用Java 10或Maven 3.5.2,虽然我真的难于测试什么和进展。
我该怎么处理这个烂摊子?(如果您想了解更多关于构建的信息,只需询问。这个
pom.xml文件
是大公司在这里分享它们的方式。)