我有以下文件夹结构:
project.ear
lib folder
ProjectEJBClient.jar
META-INF folder
projectEJB.jar
我的build.xml
包含以下行来创建EAR包
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
<fileset dir="${build.dir}" includes="ProjectEJBClient.jar"/>
<fileset dir="${build.dir}" includes="projectEJB.jar"/>
</ear>
上面的代码不能创建EAR包lib文件夹,其包括ProjectEJBClient.jar
文件
我想创建一个lib文件夹,复制ProjectEJBClient.jar
成lib文件夹。
这个过程后,我想和这个lib文件夹的EAR项目。
我不知道如何创建lib文件夹,复制ProjectEJBClient.jar
到该文件夹,包括这个文件夹到project.ear。
使用zipfileset :
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
<zipfileset dir="." prefix="lib">
<include name="ProjectEJBClient.jar"/>
</zipfileset>
<fileset dir="${build.dir}" includes="projectEJB.jar"/>
</ear>
该prefix="lib"
将确保,那罐子会在/lib
在你的耳边。
在我的情况下,它没有工作,becouse我需要包含多个文件,并解决了我以不同的方式使用zipfileset,在Apache-ANT-1.9.1and jdk1.7.0_60:
<ear earfile="${dst_dir}/${ear_file}" appxml="${dep_dir}/ear/application.xml">
<zipfileset
dir="${m2.home}/commons-codec/commons-codec/1.9"
prefix="lib"
includes="**/*.jar"/>
<zipfileset
dir="${m2.home}/log4j/log4j/1.2.17"
prefix="lib"
includes="**/*.jar"/>
<fileset dir="${dst_dir}" includes="${jar_file}"/>
<fileset dir="${dst_dir}" includes="${war_file}"/>
</ear>