禁用父pom中定义的maven发布插件

时间:2011-04-05 23:49:05

标签: maven maven-plugin maven-release-plugin

我是maven的新手。我的产品结构如下

myWebProduct
    pom.xml
    coreModule
    webModule
    htmlTestModule

maven发布插件是在pom.xml文件的公司级别定义的,该文件是myWebProduct的父级。它已设置发布插件运行默认目标deploy和默认准备目标clean verify install

我希望发布myWebProduct级别的产品,除了我想跳过htmlTestModule之外,它的工作正常。因为deploy上的htmlTestModule生命周期将导致war文件部署到远程Tomcat服务器,并且我不希望在发布期间发生这种情况。

我尝试在pom.xml的{​​{1}}中添加以下内容。

htmlTestModule

但是在<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.1</version> <configuration> <skip>true</skip> <preparationGoals>clean validate</preparationGoals> <goals>testCompile</goals> </configuration> </plugin> 运行'mvn release:perform'时。我已经看到部署目标仍然在myWebProduct上执行。任何人都可以帮忙吗?

我还尝试了关注htmlTestModule

htmlTestModule

但是,部署目标始终在<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>donotRunMe</id> <phase>none</phase> </execution> </executions> </plugin> 中执行。 感谢

1 个答案:

答案 0 :(得分:0)

我认为你在这里采取了错误的做法。让我解释一下。

maven的deploy阶段并不意味着要部署到远程服务器或类似的东西。这意味着要部署到远程存储库。

因此,我相信您不应该尝试跳过模块中的部署阶段,而是将部署从deploy阶段取消绑定到远程Tomcat服务器,例如将其作为特定目标。 / p>