我是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>
中执行。
感谢
答案 0 :(得分:0)
我认为你在这里采取了错误的做法。让我解释一下。
maven的deploy
阶段并不意味着要部署到远程服务器或类似的东西。这意味着要部署到远程存储库。
因此,我相信您不应该尝试跳过模块中的部署阶段,而是将部署从deploy
阶段取消绑定到远程Tomcat服务器,例如将其作为特定目标。 / p>