如何从ANT文件中访问本地env变量

时间:2017-02-09 06:42:43

标签: batch-file ant

我有这个ANT文件调用批处理文件来设置环境变量,然后在ANT脚本中引用这些环境变量。

所以我的批处理文件(set_env.bat)包含:

REM ------ ECLIPSE ------
SET DIR_ECLIPSE=C:\Eclipse
SET DIR_ECLIPSE_MARS=%DIR_ECLIPSE%\eclipse-dsl-mars-2-win32
SET DIR_DEST=C:\mydsl\generated

然后我的ANT脚本会这样调用它:

 <target name="setvars" >
    <exec executable="cmd">
      <arg value="/c"/>
      <arg value="set_env.bat"/>
      <arg value="-p"/>
    </exec>
  </target>
 <property environment="env"/>
 <property name="tool" value="${env.DIR_ECLIPSE_MARS}" />
 <property name="destDir" value=${env.DIR_DEST}" />
 <target name="create_run_jar">
    <copy file="${env.DIR_ECLIPSE_MARS}/plugins/org.eclipse.xtext_2.9.1.v201512180746.jar"
          todir="${destDir}/myDsl_lib" />
 </target>

我继续收到错误消息,说找不到该文件,当我打印日志时,我得到了#echo; [echo] $ {env.DIR_ECLIPSE_MARS}&#34;。所以这意味着没有设置env变量。

在复制过程中,它会显示以下日志:

D:\mydsl\antbuild.xml:129: Warning: Could not find file D:\mydsl\${env.DIR_ECLIPSE_4_5_2}\plugins\org.eclipse.xtext_2.9.1.v201512180746.jar to copy.

我首先执行setvars目标,然后执行create_run_jar。

0 个答案:

没有答案