Wie kann ich eine EAR-Datei mit einer Ameise Build einschließlich bestimmten Dateien erstellen?
Frage
Ich bin mit Eclipse eine Ohr-Datei mit Ameise zu bauen. Ich verwende oc4j, und ich möchte sicherstellen, dass ORion-application.xml ist im Build enthalten. Was ich bin derzeit aber nicht funktioniert, ist:
<target name="ear" depends=""> <echo>Building the ear file</echo> <copy todir="${build.dir}/META-INF"> <fileset dir="${conf.dir}" includes="orion-application.xml"/> </copy> <ear destfile="${dist.dir}/${ant.project.name}.ear" appxml="${conf.dir}/application.xml"> <fileset dir="${dist.dir}" includes="*.jar,*.war"/> </ear> </target>
Was ist der richtige Weg, dies zu Ohr hinzufügen?
Lösung
Alles, was in META-INF
Ordner gehen sollte über verschachtelten <metainf>
fileset angegeben werden:
<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>
Andere Tipps
Versuchen Sie diesen Code ein:
<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>
Zuerst baut einen Krieg mit diesem;
http://ant.apache.org/manual/Tasks/war.html
als eine EAR in der gleichen Ant-Task.
http://ant.apache.org/manual/Tasks/ear.html
Setzen Sie diese in Ihrer Java-Projekt-Verzeichnisstruktur:
<?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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow