检查Maven antrun插件中是否存在环境变量的更好方法是什么?

时间:2015-05-18 21:03:00

标签: maven environment-variables maven-antrun-plugin

我正在使用Maven 3.2.3。我有这个用于我的蚂蚁运行插件...

                                                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-antrun-plugin</artifactId>
                            <version>1.8</version>
                            <dependencies>
                                    <dependency>
                                            <groupId>ant-contrib</groupId>
                                            <artifactId>ant-contrib</artifactId>
                                            <version>20020829</version>
                                    </dependency>
                            </dependencies>
                            <executions>
                                    <execution>
                                            <id>create-dodeploy-file</id>
                                            <phase>package</phase>
                                            <configuration>
                                                    <target>
                                                            <taskdef resource="net/sf/antcontrib/antcontrib.properties" />
                                                            <property environment="env"/>
                                                            <if>
                                                                    <isset property="env.JBOSS_HOME"/>
                                                                    <then> 
                                                                            <echo file="${JBOSS_HOME}/standalone/deployments/${project.artifactId}.war.dodeploy" append="false" message="" />
                                                                    </then>
                                                            </if> 
                                                    </target>
                                            </configuration>
                                            <goals>
                                                    <goal>run</goal>
                                            </goals>
                                    </execution>
                                    </executions>
                                    </plugin>

尽管我知道在我的环境中定义了$ JBOSS_HOME(我能够运行

echo $JBOSS_HOME

来自我运行Maven构建的同一个bash shell),“isset”指令总是返回false。有没有更好的方法来测试Antrun插件中是否存在环境变量?

1 个答案:

答案 0 :(得分:1)

如果(或除非)设置了属性,目标还可以执行其执行。要使目标感知此属性,您应该添加if(或者除非)属性以及目标应该响应的属性的名称。

<target name="build-if" if="env.JBOSS_HOME"/>

<target name="build-unless" unless="env.JBOSS_HOME"/>