【发布时间】:2019-04-03 15:52:05
【问题描述】:
我正在编写一个 Maven 插件,我不需要将任何真正的工件附加到项目中(它是一个产品,无意让任何东西依赖它)。最终的工件(一个 tgz 包,用于固件安装)非常大,因此我不希望它在本地或我们的 nexus 存储库中无缘无故地占用空间——我们将它推送到其他检索它的服务来自运营中。
因此,我想告诉 Maven 没有默认工件,或者只需要部署 pom 本身。在插件中,我尝试将默认工件 (MavenProject.setArtifact) 设置为 pom 本身,但这会导致发布问题,因为 Maven 尝试部署 pom 两次,我们将 Nexus 设置为不允许非快照版本。
如果我根本不setArtifact,我会得到:
The packaging for this project did not assign a file to the build artifact
我的项目正在使用具有自定义生命周期的插件,在 components.xml 中定义。我尝试将扩展名和打包设置为pom,但这没有帮助。
<component>
...
<configuration>
<extension>pom</extension>
<packaging>pom</packaging>
<addedToClasspath>false</addedToClasspath>
<lifecycles>
...
</configuration>
</component>
有没有办法告诉 Maven pom 是唯一要部署的工件?
【问题讨论】:
标签: maven maven-plugin