[英]enforcing maven 3 - when to use maven enforcer plugin? when to use pom prerequisites element?
执行maven 3的两种主要方法似乎是:
<prerequisites>
元素。 最佳使用方法似乎取决于几个不同的因素。 这个问题是为了帮助人们决定哪种方法对他们最有意义。
问题 :哪种类型的项目结构最适合maven-enforcer-plugin,哪种类型的项目结构最适合于先决条件。
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>enforce-maven-3</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.0.5</version>
</requireMavenVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<project>
...
<prerequisites>
<maven>3.0.5</maven>
</prerequisites>
...
</project>
不推荐使用先决条件,您应该使用enforcer插件。 MNG-5297要求更新文档以澄清这一点。
maven-enforcer-plugin
FAQ 解释了不同之处 :
为什么我不能只使用pom中的先决条件标签?
先决条件标记旨在供插件等工具使用。 它适用于常规项目,但不会遗传给他们的孩子。 如果它在父反应堆中设置,那么Maven将进行检查。 但是,如果构建其中一个子项,则不执行检查。 enforcer插件旨在允许从单个“super-pom”集中控制构建环境,并通过支持范围允许更大的版本规范灵活性。
此外,请注意, 先决条件不适用于Maven 3 。
Maven pom prerequisites
方法可能更适合更小,更简单的项目。 这种方法的重量较轻,因为它不需要下载maven-enforcer-plugin
。
如果您希望从父级继承maven 3要求的子项目,则maven-enforcer-plugin
方法可能更合适。 子项目不会继承pom prerequisites
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.