如何为ant任务指定lib目录?

时间:2016-08-08 15:49:13

标签: ant

我目前正在我的构建中运行exec任务,如下所示:

<target name="bar">
  <exec executable="ant">
    <arg value="-f"/>
    <arg value="/path/to/my/build.xml"/>
    <arg value="-lib"/>
    <arg value="/path/to/my/libs"/>
  </exec>
</target>

我不是很喜欢它,并希望用ant任务替换exec任务:

<target name="bar">
  <ant antfile="/path/to/my/build.xml"/>
</target>

但是,在这种情况下,我不知道如何指定lib目录。这有可能吗?

2 个答案:

答案 0 :(得分:1)

你想通过这种方式从ANT内部启动ANT来实现什么目标?

例如,如果您需要自定义ANT扩展,可以在运行时在代码中指定这些jar的路径,如下所示:

<taskdef resource="net/sf/antcontrib/antcontrib.properties">
  <classpath>
    <pathelement location="${lib.dir}/ant-contrib-0.3.jar"/>
  </classpath>
</taskdef>

再一次,您可以集成一个依赖管理系统,如Apache ivy来管理第三方jar依赖项。

答案 1 :(得分:0)

您可以在下面的ant脚本中调用ant脚本。 如果你使用属性inheritrefs =&#34; true&#34;在父构建脚本中设置的任何ID也将传递给子构建脚本。

例如:

<ant antfile="subbuild.xml" inheritrefs="true"/>