我想创建Ant构建脚本以从多个WAR构建EAR。我有3个不同的Web项目(3个不同的WAR)。我需要知道应该在哪里保留构建EAR的build.xml。 我应该在这3个项目的父文件夹中创建一个新的EAR项目吗?
答案 0 :(得分:0)
我有build.xml
的父项目和包含单个模块的子文件夹
build.xml
为每个模块调用ant,然后将它们组合在一起以产生结果。
这是来自具有多个模块的单蚂蚁的样本。我更喜欢在从主文件夹调用的每个模块中都有单独的ant文件。蚂蚁的依赖性可能很棘手。这可能是人们喜欢maven / graddle而不是蚂蚁的原因。
<target name="war" depends="ejb">
<mkdir dir="${build.dir}/war" />
<path id="web-classpath">
<path refid="classpath" />
<file file="${build.dir}/${ant.project.name}.jar" />
</path>
<javac srcdir="web-module/java" classpathref="web-classpath" destdir="${build.dir}/war" debug="true"
source="${compiler.source.level}" target="${compiler.target.level}" encoding="${src.encoding}"/>
<war destfile="${build.dir}/${ant.project.name}.war" webxml="web-module/war/WEB-INF/web.xml">
<webinf dir="web-module/war/WEB-INF">
<exclude name="web.xml"/>
<exclude name="classes/**"/>
<exclude name="lib/**"/>
</webinf>
<classes dir="${build.dir}/war" />
<lib dir="web-module/war/WEB-INF/lib"/>
<fileset dir="web-module/war">
<exclude name="WEB-INF/*"/>
<exclude name="META-INF/*"/>
</fileset>
</war>
</target>
答案 1 :(得分:0)
您是否考虑过Gradle。 Gradle支持multi-module projects 如果您遵循他们的约定,构建脚本是相当直接的。对于这个项目,您将有三个项目生成一个战争(来自每个),然后是一个父项目,它创建耳朵并拉入战争工件以创建耳朵文件。
值得一看,但我知道你问过Ant。