mjn*_*mjn 23 java maven-3 maven
我目前正在对使用Maven的Java项目进行一些清理,并使用NetBeans IDE来"调试"POM中的问题.我在IDE中将Maven 3.0.4设置为Maven版本,但其他开发人员或我们的Continuous Intgeration系统可能有不同的设置.
是否可以直接在POM中"强制执行"特定的Maven版本(例如,使用Maven 3特定元素)?
Oli*_*ver 24
是的,你可以而且你应该.一些Maven插件需要Maven 3或更新版本.
使用maven-enforcer-plugin将以下内容添加到您的pom.xml
:
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</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>
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用pom中的先决条件元素,例如:
<project>
...
<prerequisites>
<maven>3.0.0</maven>
</prerequisites>
...
</project>
Run Code Online (Sandbox Code Playgroud)
正如Michal Kalinowski所说- 这种简单的方法对于儿童项目来说效果不佳.
有关哪种方法最适合您的摘要,请参阅此处:强制执行maven 3 - 何时使用maven enforcer插件?什么时候使用pom先决条件元素?
您可以做的最好的事情是使用Enforcer插件.这是一个例子:http:
//maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
Maven本身没有开箱即用的方法来做这件事.实际上有prerequisites
标签,但它不能很好地工作,因为孩子不会继承它.
归档时间: |
|
查看次数: |
6813 次 |
最近记录: |