当我使用Makefile时,我可以包含common.mk文件,我在其中定义了一些常见的定义,例如classpath等。
我想对我的build.xml文件做同样的事情。我想在树中的每个文件夹中创建一个build.xml,这样我就可以构建树的任何部分,而不必每次都编辑一个top build.xml来告诉它要包含什么。
这就是我用makefile做的,并且非常好,因为我可以从树中的任何文件夹键入'make',并使用递归make,它将在我所在的地方构建树部分。
build.xml的问题在于,我发现我在每个build.xml中复制相同的定义(例如classpath,编译器标志和what-have-you)。
如果我可以包含一个xml文件,那么我可以将所有常见的东西放在common.xml文件中,在树的根目录中,并将其包含在每个build.xml中。 (这是我对Makefile所做的,我把所有东西都放在了common.mk中)。
我不喜欢使用env。用于定义事物的变量,并且更喜欢使用我用于整个树的文件,公共文件。
我是使用ant的新手,所以我可能忽略了这个功能。如果某人有一个如何做到这一点的例子,这将是有用的。
欢呼声,
答案 0 :(得分:5)
查看包含XML文件和外部Ant文件的文档: http://ant.apache.org/faq.html#xml-entity-include
要在当前Ant文件中包含完整的Ant构建文件,您需要执行以下操作:
<?xml version="1.0"?>
<project name="test" default="test" basedir=".">
<target name="setup">
...
</target>
<import file="./common.xml"/>
...
</project>
你需要Ant 1.6或更新版本。