我有一个多模块项目,最后构建的模块是应用程序的分发zip。
core/
plugins/
plugins/logger
plugins/social
...
assemble/
我想以Maven工件的形式分发应用程序。我不想用它来部署模块工件。
但release
插件需要从根运行(我想做所有常见的事情,如更新版本,标记,提交这些更改等)。
告诉发布插件要部署哪些工件的方法是什么?
请注意,这与仅限制部署插件不同,因为发布插件似乎以某种内部方式调用部署插件。 (不确定。)
答案 0 :(得分:0)
似乎已经修复了Release插件的行为,现在可以正确调用deploy:deploy
。
所以我使用我的标准技巧来禁止默认的插件执行。根pom.xml
:
<!-- Don't deploy all artifacts. Overridden in submodules. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<executions> <execution> <id>default-deploy</id> <phase>none</phase> </execution></executions>
</plugin>
dist模块pom.xml
:
<!-- Enable deploy for this submodule. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<executions> <execution> <id>default-deploy</id> <phase>deploy</phase> </execution></executions>
</plugin>
答案 1 :(得分:0)
发布:表演并没有那么多魔术。它通过在发布期间创建的标记检出代码:prepare。默认目标是“部署”。如果您在pom.xml的distributionManagement中指定了一个站点,那么它将是“deploy site-deploy”。这些步骤也可以手工完成。
如果您从不想部署这些工件(不是在开发期间或发布期间),我更倾向于skip使用未定义的阶段。 如果仅在发布期间需要这样做,则应在release-profile内指定。