如何将我的 $JBOSS_HOME 环境变量传递到我的 Maven 脚本中?

How do I pass my $JBOSS_HOME environment variable into my Maven script?

我正在使用 Mac 10.9.5 和 maven 3.2.3。我在我的 ~/.profile 文件中定义了一个环境变量 $JBOSS_HOME,可以通过我的 shell 访问它。有没有办法,使用 MAVEN_OPTS 或类似的方法,我可以在 Maven antrun 插件中引用这个值?以下是我插件的相关部分...

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>create-dodeploy-file</id>
            <phase>package</phase>
            <configuration>
                <target>
                    <echo
                        file="$JBOSS_HOME/standalone/deployments/${project.artifactId}.war.dodeploy"
                        append="false" message="" />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我更愿意以这样一种方式来执行此操作,即我不必在每次调用时都将命令行传递给 Maven(例如 -DJBOSS_HOME=$JBOSS_HOME。如果有一些系统方法,我可以告诉 Maven 关于这个环境var,那个最好

您可以使用 env. 来引用您 pom.xml 中的环境变量:

<properties>
    <JBOSS_HOME>${env.JBOSS_HOME}</JBOSS_HOME>
</properties>

<!-- plugin declaration, snipped -->

<echo
    file="${JBOSS_HOME}/standalone/deployments/${project.artifactId}.war.dodeploy"
    append="false" message="" />