如果某人运行我的pom.xml
,他们会收到一个令人讨厌的错误,因为没有定义环境变量。我想陷阱并显示更直接的错误,以便通过定义环境变量可以轻松解决问题。
我知道在pom中有一个环境变量可能不是一个好主意,但这次我真的需要。有线索吗?
变量是JAVA_6_HOME,JDK6的路径,因为我的默认路径是JDK7
答案 0 :(得分:13)
Maven-enforcer-plugin可以做到:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireEnvironmentVariable>
<variableName>JAVA_6_HOME</variableName>
<message>JAVA_6_HOME system variable must be set!</message>
</requireEnvironmentVariable>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 1 :(得分:1)
您可以指定规定属性所需的规则。 检查这个问题Can I force Maven 2 to require a property to be specified on the command line? 这是maven规范http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html
的链接以下是所有可用规则的链接: http://maven.apache.org/enforcer/enforcer-rules/index.html