Ant,为任务设置环境变量?

Ant,为任务设置环境变量?,ant,environment-variables,environment,task,Ant,Environment Variables,Environment,Task,我想从ant运行另一个ant构建文件,这个任务看起来非常适合这个 另一个构建文件使用环境变量进行一些操作。有没有办法为子ant过程设置环境变量 我看到该任务似乎支持嵌套的,但与之不相似。从的文档中 默认情况下,当前项目的所有属性都将可用 在新项目中 您还可以使用从旧项目设置新项目中的属性 嵌套的属性标记 根据 默认情况下,当前项目的所有属性都将可用 在新项目中 您还可以使用从旧项目设置新项目中的属性 嵌套的属性标记 默认情况下,内部ant调用继承父属性 <ant inheritAll="t

我想从ant运行另一个ant构建文件,这个任务看起来非常适合这个

另一个构建文件使用环境变量进行一些操作。有没有办法为子ant过程设置环境变量

我看到该任务似乎支持嵌套的,但与之不相似。

从的文档中

默认情况下,当前项目的所有属性都将可用 在新项目中

您还可以使用从旧项目设置新项目中的属性 嵌套的属性标记

根据

默认情况下,当前项目的所有属性都将可用 在新项目中

您还可以使用从旧项目设置新项目中的属性 嵌套的属性标记


默认情况下,内部ant调用继承父属性

<ant inheritAll="true" antfile="subproject/subbuild.xml">
  <!--inheritAll="true" is default value, this is unecessary -->

  <property name="myprop" value="foo"/>

  <antcall target="myTarget"></antcall> 
  <ant antfile="myAntFile"></ant>

</ant>

在这种情况下,myTarget和myAntFile上的所有目标都可以将foo作为myprop值获取。

默认情况下,内部ant调用继承父属性

<ant inheritAll="true" antfile="subproject/subbuild.xml">
  <!--inheritAll="true" is default value, this is unecessary -->

  <property name="myprop" value="foo"/>

  <antcall target="myTarget"></antcall> 
  <ant antfile="myAntFile"></ant>

</ant>

在这种情况下,myTarget和myAntFile上的所有目标都可以将foo作为myprop值获取。

我的理解是,只需将当前环境变量加载到一个名为env的ant属性中,否?因此,如果另一个构建文件使用同一行,并且仅通过${env}使用这些环境变量,那么这可能是可以的,但是它实际上不会在子ant进程中设置任何环境变量。不过,当我开始工作的时候,我会试一试。我不认为你的建议在这种情况下有什么意义——Ken现有的脚本必须使用一个领先的环境变量来引用环境变量。让它工作。如果它这样做了,它本身就已经在运行property environment=env了?因此,如果另一个构建文件使用同一行,并且仅通过${env}使用这些环境变量,那么这可能是可以的,但是它实际上不会在子ant进程中设置任何环境变量。不过,当我开始工作的时候,我会试一试。我不认为你的建议在这种情况下有什么意义——Ken现有的脚本必须使用一个领先的环境变量来引用环境变量。让它工作。如果它这样做了,它将已经运行property environment=env本身。