包括构建战争的路径的类

时间:2011-05-17 22:50:14

标签: ant ivy

我尝试在多模块项目上构建一个战争而不复制已编译的类。我使用Ivy来管理我的模块之间的依赖关系。

困难的是使用常春藤报告的结果来制造战争。我的依赖项被转换为路径(classes.path=rootdir/module1/build/classes;rootdir/module2/build/classes;rootdir/module3/build/classes;)。我希望将该路径的所有文件都包含在战争中。它不起作用。

为了测试我的构建,我尝试了这个目标。结果是:Warning: skipping zip archive D:\dev\mci\admin\build\dist\admin.war because no files were included.

为什么它不起作用的任何想法?

<target name="aaa-zip">

    <path id="aaa">
        <path path="D:/dev/mci/admin/build/classes"/>
    </path>

    <ac:pathtofileset name="aaa.fileset"
                   pathrefid="aaa"
                   dir="${basedir}"/>
    <zip destfile="${build.war.full.filename}">
        <mappedresources>
            <restrict>
                <fileset refid="aaa.fileset"/>
                <type type="file"/>
            </restrict>
            <globmapper from="*" to="WEB-INF/classes/*"/>
        </mappedresources>
    </zip>
</target>

1 个答案:

答案 0 :(得分:0)

我并不完全明白你在做什么以及为什么,所以我会简短地告诉你什么对我有用,也许这会有所帮助。

  1. 创建空war-dir
  2. 使用ivy.resolveA创建path.projectA,编译,复制类到war-dir
  3. 使用ivy.resolveA创建path.projectB,编译,复制类到war-dir
  4. zip war-dir
  5. 如果需要,请使用ivy:retrieve以包含lib / in side yor archive。