Maven发布插件:如何在发布时仅部署分发jar:perform

Maven发布插件:如何在发布时仅部署分发jar:perform,maven,deployment,maven-release-plugin,Maven,Deployment,Maven Release Plugin,我有一个多模块项目,正在构建的最后一个模块是应用程序的一个分发zip core/ plugins/ plugins/logger plugins/social ... assemble/ 我想以Maven工件的形式分发应用程序。我不想用它来部署模块工件 但是release插件需要从根目录运行(我想做所有的日常工作,比如更新版本、标记、提交这些更改等) 告诉发布插件要部署哪些工件的方法是什么? 请注意,这与仅限制部署插件不同,因为发布插件似乎以某种内部方式调用部署插件。(对此不确定。)似乎发布插

我有一个多模块项目,正在构建的最后一个模块是应用程序的一个分发zip

core/
plugins/
plugins/logger
plugins/social
...
assemble/
我想以Maven工件的形式分发应用程序。我不想用它来部署模块工件

但是
release
插件需要从根目录运行(我想做所有的日常工作,比如更新版本、标记、提交这些更改等)

告诉发布插件要部署哪些工件的方法是什么?


请注意,这与仅限制部署插件不同,因为发布插件似乎以某种内部方式调用部署插件。(对此不确定。)

似乎发布插件的行为已经修复,现在它正确地调用了
deploy:deploy

所以我用我的标准技巧来抑制默认插件的执行。Root
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>
        <!-- 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>

发行版:perform没有那么神奇。它通过在release:prepare期间创建的标记签出代码。默认目标是“部署”。如果您在pom.xml的distributionManagement中指定了一个站点,那么它将是“DeploySiteDeploy”。这些步骤也可以手工完成

如果您永远不想部署这些工件(不是在developerment期间,也不是在发布期间),我更喜欢使用未定义的阶段。 如果这仅在发布期间需要,则应在中指定