我有一个简单的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>
如果我用完整路径替换环境变量。它工作正常。
我错过了什么?
亲切的问候,
马克科尔曼答案 0 :(得分:0)
您必须先设置<property environment="env"/>
才能访问环境。
修改的
您可以尝试将classpath变量作为属性移动到内部classpath元素。见这个:
<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>
也许是它的覆盖...
答案 1 :(得分:0)
正如罗伯特指出的那样,环境变量已用双引号保存。删除这些修复了问题。
感谢。