如何检查pom.xml中是否存在环境变量?

时间:2013-08-10 14:14:53

标签: java maven environment-variables pom.xml

如果某人运行我的pom.xml,他们会收到一个令人讨厌的错误,因为没有定义环境变量。我想陷阱并显示更直接的错误,以便通过定义环境变量可以轻松解决问题。 我知道在pom中有一个环境变量可能不是一个好主意,但这次我真的需要。有线索吗?


变量是JAVA_6_HOME,JDK6的路径,因为我的默认路径是JDK7

2 个答案:

答案 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