2012-04-09 5 views
6

私は、次のフォルダ構造を持っている:antを使用してearファイルのlibフォルダにjarファイルを含めるにはどうすればよいですか?

project.ear 
     lib folder 
      ProjectEJBClient.jar 
     META-INF folder 
     projectEJB.jar 

build.xmlは、上記のコードはProjectEJBClient.jarが含まlibフォルダと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フォルダを作成し、そのlibフォルダにProjectEJBClient.jarをコピーします。

このプロセスの後、私はこのlibフォルダでEARプロジェクトを作りたいと思います。

私はlibフォルダを作成してそのフォルダにProjectEJBClient.jarをコピーし、このフォルダをproject.earにコピーする方法がわかりません。

答えて

7

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下になることを、確認します。私の場合は

+0

ソリューションですワーキング – user1314506

0

それはdidntの仕事、私はいくつかのファイルを含めるために必要な、と私は、Apache-ANT-1.9.1andのjdk1.7.0_60の下に、別の方法でたzipfilesetを使用して解決becouse:

<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> 
関連する問題