2

簡単な Ant スクリプトがあり、環境変数 JUNIT_HOME を使用してタグに渡したいと考えています。環境変数は、エコーされると有効であるように見えます。

<echo message = "JUNIT_HOME: ${env.JUNIT_HOME}" />

正しい出力を生成します。

JUNIT_HOME: "C:\Program Files (x86)\eclipse\plugins\org.junit_4.8.2.v4_8_2_v20110321-1705"

しかし、次のように使用すると、junit が見つからないと主張してビルドが失敗します。

<target name="compile" depends="checkJUnitHome, init" description="compile the source ">
    <javac srcdir="${src}" destdir="${build}" classpath="${env.JUNIT_HOME}\junit.jar">
        <classpath refid="project.classpath" />
    </javac>
</target>

環境変数をフルパスに置き換えた場合。正しく動作します。

私は何が欠けていますか?

敬具、

マーク・コールマン

4

2 に答える 2

0

ロバートが指摘したように、環境変数は二重引用符で保存されていました。これらを削除すると、問題が修正されました。

ありがとう。

于 2012-07-03T15:39:38.883 に答える
0

<property environment="env"/>環境にアクセスする前に設定する必要があります。

編集

クラスパス変数をプロパティとして内部クラスパス要素に移動しようとすることができます。これを見てください:

<target name="compile" depends="checkJUnitHome, init" description="compile the source ">
    <javac srcdir="${src}" destdir="${build}">
        <classpath>
            <path refid="project.classpath" />
            <path location="${env.JUNIT_HOME}\junit.jar" />
        </classpath>
    </javac>
</target>

多分それはオーバーライドされています...

于 2012-07-03T15:15:11.453 に答える