web-dev-qa-db-ja.com

特定のファイルを含むAntビルドでEARファイルを作成するにはどうすればよいですか?

私はEclipseを使用して、antを使用してearファイルをビルドしています。私はoc4jを使用しており、ビルドにorion-application.xmlが含まれていることを確認したいと思います。私が現在使用しているが機能しないのは:

   <target name = "ear" depend = ""> 
 <echo> earファイルのビルド</ echo> 
 <copy todir = "$ {build.dir}/META-INF"> 
 <fileset dir = "$ {conf.dir}" contains = "orion-application.xml" />
 </ copy> 
 <ear destfile = "$ {dist .dir}/$ {ant.project.name} .ear "
 appxml =" $ {conf.dir} /application.xml "> 
 <fileset dir =" $ {dist.dir } "include =" *。jar、*。war "/>
 </ ear> 
 </ target>

これを耳に追加する正しい方法は何ですか?

11
user149100

Ant EARタスク

META-INFフォルダーに入れるすべてのものは、ネストされた<metainf>ファイルセットを介して指定する必要があります。

<ear destfile="${dist.dir}/${ant.project.name}.ear" 
  appxml="${conf.dir}/application.xml">
  <metainf dir="${build.dir/META-INF}"/>
  <fileset dir="${dist.dir}" includes="*.jar,*.war"/>
</ear>
22
ChssPly76

このコードを試してください:

    <ear destfile="deploy/iapp.ear"
         appxml="workspace/appEAR/EarContent/META-INF/application.xml">
        <fileset file="workspace/appEJB/appEJB.jar" />
        <fileset file="workspace/appWAR/appWAR.war" />
        <zipfileset file="workspace/appLIB/appLIB.jar"
                    prefix="APP-INF/lib" />
        <zipfileset dir="lib/fop" includes="*.jar" prefix="APP-INF/lib" />
        <zipfileset dir="lib/poi" includes="*.jar" prefix="APP-INF/lib" />
        <zipfileset dir="lib/gxt" includes="*.jar" prefix="APP-INF/lib" />          
        <metainf dir="workspace/appEAR/EarContent/META-INF">
            <exclude name="**/application.xml" />
            <exclude name="**/MANIFEST.MF" />
        </metainf>
        <manifest>
            <attribute name="Weblogic-Application-Version"
                       value="${deploy.revision}" />
        </manifest>
    </ear>
8
sasah

まず、これを使用して戦争を構築します。

http://ant.Apache.org/manual/Tasks/war.html

同じAntタスクのEARよりも。

http://ant.Apache.org/manual/Tasks/ear.html

これをJavaプロジェクトのディレクトリ構造に入れます:

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="test_ear" name="myProject">
    <property name="build.dir" value="WebContent"/>
<target name="test_ear">
    <war destfile="C:/projects/test1.war" needxmlfile='false'>
      <fileset dir="${build.dir}" excludes="*build*.xml"/>
    </war>
    <ear destfile="C:/projects/test1EAR.ear" appxml="WebContent/META-INF/application.xml">
      <fileset dir="C:/projects/" includes="*.jar,*.war"/>
    </ear>
</target>
</project>
5
SmartCoder