禁用父pom中定义的maven发布插件
我是马文的新手。我的产品结构如下禁用父pom中定义的maven发布插件,maven,maven-plugin,maven-release-plugin,Maven,Maven Plugin,Maven Release Plugin,我是马文的新手。我的产品结构如下 myWebProduct pom.xml coreModule webModule htmlTestModule maven发行版插件是在公司级别的pom.xml文件中定义的,该文件是myWebProduct的父文件。它已将发布插件运行默认目标设置为deploy和默认preparationGoalsclean verify install 我想在myWebProduct级别发布产品,该级别工作正常,但我想跳过发布htmlTest
myWebProduct
pom.xml
coreModule
webModule
htmlTestModule
maven发行版插件是在公司级别的pom.xml
文件中定义的,该文件是myWebProduct
的父文件。它已将发布插件运行默认目标设置为deploy
和默认preparationGoalsclean verify install
我想在myWebProduct
级别发布产品,该级别工作正常,但我想跳过发布htmlTestModule
。因为htmlTestModule
上的deploy
生命周期将导致war文件部署到远程Tomcat服务器,我不希望在发布期间发生这种情况
我试图在htmlTestModule
的pom.xml
中添加以下内容
<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>
不过,部署目标始终在htmlTestModule
中执行。
谢谢我认为你在这里采取了错误的方法。让我解释一下 maven的
deploy
阶段并不意味着要部署到远程服务器或类似的东西。这意味着要部署到远程存储库
因此,我认为您不应该尝试跳过模块中的部署阶段,而是将部署从
deploy
阶段取消到远程Tomcat服务器的绑定,例如将其作为一个特定的目标。感谢您的回复。在准备包阶段,我将deploywar文件绑定到remort tomcat服务器,因为我的测试目标取决于此。你对这种测试包有什么建议?这完全取决于我的一般规则,我的构建应该是自包含的,包括(集成)测试。因此,我希望在本地(构建)Tomcat实例中部署(例如使用Cargo或Tomcat插件)并在那里进行测试。这样,您的构建不依赖于任何需要特定配置的外部资源。如果这需要花费太多的时间来运行发布,那么我建议您找到一种方法,跳过对tomcat实例的测试,而不是完全部署阶段。此外,此测试的最佳阶段可能是集成测试阶段。嗯。
<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>