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

您必须先进行设置<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 回答
0

正如罗伯特指出的那样,环境变量已用双引号保存。删除这些解决了问题。

谢谢。

于 2012-07-03T15:39:38.883 回答