让我先描述一下场景。我有一个名为main_build.xml的主构建文件。这个文件调用了为子项目定义的其他4个构建文件,复制了子项目构建生成的Jars,然后创建了一个WAR,最后创建了EAR
我在一个名为my_clspath.XML的XML文件中定义了类路径依赖项。
现在我有两个问题:
1.如何在main_build.xml中包含my_clspath.xml文件
2.在main_build中包含my_clspath.xml之后,如何使classpath可用于从该main_builds调用的所有4个子构建?。
my_clspath.xml内容:
<fileset dir="../myApp_Ear/build/">
<include name="**/*.jar" />
</fileset>
<fileset dir="../myApp_Ear/lib/">
<include name="**/*.jar" />
</fileset>
尝试
<project name="Your Project">
<include file="my_clspath.xml" />
<ant antfile="sub1.xml" inheritAll="true" inheritRefs="true" />
</project>
此外,您应该在文件集上设置一个id
。仅仅将它们放在Ant文件中是没有任何作用的。
<fileset dir="../myApp_Ear/build/" id="my.EAR.fileset">
<include name="**/*.jar" />
</fileset>
然后,在sub1.xml
中,可以使用<fileset refid="my.EAR.fileset" />
引用文件集
希望这能有所帮助。
您真的应该看看<subant>
任务。这正是您所要求的:您有一个主build.xml
文件,它正在调用一些子ant构建文件来构建基本组件。