Переменные среды Netbeans Ant - PullRequest
0 голосов
/ 04 ноября 2011

У меня проблема с доступом к переменным окружения в ant-скрипте netbeans build.xml. В основном, когда я использую этот код:

<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 или я упускаю что-то очевидное? Любая обратная связь будет оценена. Благодаря.

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Вы можете поместить

<property environment="env"/>

за пределы вашей цели,

ИЛИ использовать «зависящий =» вместо «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", я получил следующее:

compile:

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

и когда я использовал зависимость = "pre-jar", результат был:

pre-jar:
[echo] / opt / apache-ant-1.8.2
[echo] /opt/jdk1.7.0

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

когда я ставил вне какой-либо цели, результат был:

compile:

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

0 голосов
/ 04 ноября 2011

Это полностью работает для меня в моей системе 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
...