Ant:如何将值从顶层build.xml传递到子文件夹中的build.xml的属性?

6

我有一组具有build.xml和sql脚本的文件夹(每个数据库架构一个文件夹)。我在根级别有一个build.xml。我想在根级别的build.xml中设置服务器、端口、用户ID、密码等的值,并将其传递给每个文件夹中的build.xml。我该如何做?

3个回答

7
这样做:
<ant antfile="sub/build.xml" inheritall="true"/>

4
如果您想进行更精细的控制,可以将inheritall设置为false,并将每个属性作为嵌套元素传递给<ant>任务。

例如:
<ant antfile="sub/build.xml" inheritall="false">
  <property name="server" value="server.foo.bar"/>
  <property name="port" value="1234"/>
  ...
</ant>

此外,<ant>任务接受<propertyset>嵌套元素,因此您可以将多个属性捆绑在一起,并只传递一个属性集。

3
<ant> 任务可以完成你所需的操作:

在提供的构建文件上运行Ant。这可用于构建子项目。

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

因此,您只需要调用 <ant antfile="dir/build.xml"/> 即可。无需设置 inheritAll 属性,它默认为 true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接