我正在使用Maven 3.0.3。如果有人运行包含“验证”阶段的Maven任务,我想确保定义属性“tomcat.manager.url”,如果不是,则抛出错误。但是,如果有人没有运行包含验证的命令(例如mvn test),我不想抛出任何错误。
我该怎么做?
谢谢, - 戴夫
答案 0 :(得分:3)
您可以将执行器插件(docs)设置为在“验证”阶段执行,并且规则要求设置插件,配置如下所示:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>verify</phase>
<configuration>
<rules>
<requireProperty>
<property>tomcat.manager.url</property>
<message>You must set a tomcat manager url</message>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
由于插件只会在验证阶段执行,因此除非您正在运行达到该阶段的构建,否则不会进行检查。