Netbeans Ant环境变量

时间:2011-11-04 01:13:18

标签: macos netbeans ant environment-variables

我在访问netbeans build.xml ant脚本中的环境变量时遇到问题。基本上,当我使用这段代码时:

<target name="-pre-jar">

    <property environment="env"/>

    <echo message="${env.ANT_HOME}"/>
    <echo message="${env.JAVA_HOME}"/>

</target>

我收到如下输出:

compile:
${env.ANT_HOME}
${env.JAVA_HOME}

这是一个问题,因为我需要稍后在脚本中访问这些文件路径。另外,我确信这两个被定义为环境变量。以下是我的终端的一些证据:

Lukas-Rezeks-MacBook-Pro:ant lukas$ echo $JAVA_HOME - $ANT_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home - /ant

我在ant build脚本变量声明中做错了什么,或者我错过了一些明显的东西?对于任何反馈,我们都表示感谢。感谢。

2 个答案:

答案 0 :(得分:1)

你可以把

<property environment="env"/>

在目标之外,

或者在编译任务中使用“depends =”而不是“antcall”。

我在Linux上做了以下测试:

<target name="pre-jar">
    <property environment="env"/>
    <echo message="${env.ANT_HOME}"/>
    <echo message="${env.JAVA_HOME}"/>
</target>

<target name="compile">
    <antcall target="pre-jar" />
    <echo message="${env.ANT_HOME}"/>
    <echo message="${env.JAVA_HOME}"/>
</target>

当我运行“ant compile”时,我得到了以下内容:

  

编译:

     

预罐:
      [echo] /opt/apache-ant-1.8.2
      [echo] /opt/jdk1.7.0
      [echo] $ {env.ANT_HOME}
      [echo] $ {env.JAVA_HOME}

当我使用depends =“pre-jar”时,结果是:

  

预罐:
      [echo] /opt/apache-ant-1.8.2
      [echo] /opt/jdk1.7.0

     

编译:
      [echo] /opt/apache-ant-1.8.2
      [echo] /opt/jdk1.7.0

当我把任何目标放在外面时,结果是:

  

编译:

     

预罐:
      [echo] /opt/apache-ant-1.8.2
      [echo] /opt/jdk1.7.0
      [echo] /opt/apache-ant-1.8.2
      [echo] /opt/jdk1.7.0

答案 1 :(得分:0)

这对我的OSX系统完全有效:

[mike@numbersix ~/temp]$ ant -version
Apache Ant(TM) version 1.8.2 compiled on June 3 2011
[mike@numbersix ~/temp]$ echo $JAVA_HOME - $ANT_HOME
/Library/Java/Home - /usr/share/ant
[mike@numbersix ~/temp]$ cat build.xml 
<project name="blah">
    <target name="foo">
        <property environment="env"/>

        <echo message="${env.ANT_HOME}"/>
        <echo message="${env.JAVA_HOME}"/>
    </target>
</project>
[mike@numbersix ~/temp]$ ant foo
Buildfile: /Users/mike/temp/build.xml

foo:
     [echo] /usr/share/ant
     [echo] /Library/Java/Home

BUILD SUCCESSFUL
Total time: 0 seconds
相关问题