G
Gelöschtes Mitglied 68249
Gast
Hi,
ich habe mein Projekt relativ erfolgreich von Eclipse nach IntelliJ und von Ant nach Maven transportiert.
Wenn ich in Maven als packaging war angebe, dann bekomme ich auch ein sauberes war-file, welches ich im lokalen Server sauber testen kann.
Für die Testumgebung brauche ich aber ein EAR-File und jetzt wird es mir scheinbar zu kompliziert.
Ich habe das packaging einfach auf ear gestellt und statt dem war-plugin das ear-plugin verwendet.
Wenn ich das aber jetzt einfach mit dem package-goal builde, dann erhalte ich ein ear-file, in dem es kein war-file gibt.
Es wurden lediglich die externen Ressourcen hinein gemappt, die ich eigentlich im WEB-INF/lib erwarte.
Ich versuche zwar mich durch die Dokumentation durch zu arbeiten, aber es ist immer doof, wenn man nicht weiß, wie das heißt, was man sucht.
Anbei mal mein altes ant-build:
Bitte nicht die Kleinigkeiten bemängeln, ich will im Maven einiges besser machen, z.B. mal ein "ordentliches" Encoding verwenden.
Aber wo ich so drüber nachdenke:
Habe ich vielleicht einen Denkfehler im Gesamtkonzept?
Ist meine Anwendung evtl. eigentlich ein Modul in meinem Projekt?
Also bräuchte ich eigentlich ein Modul, welches in der pom als packaging war stehen hat.
Darüber habe ich dann das "HauptModul" welches in der Pom als packaging ear hat und als einzige dependency das Modul?
ich habe mein Projekt relativ erfolgreich von Eclipse nach IntelliJ und von Ant nach Maven transportiert.
Wenn ich in Maven als packaging war angebe, dann bekomme ich auch ein sauberes war-file, welches ich im lokalen Server sauber testen kann.
Für die Testumgebung brauche ich aber ein EAR-File und jetzt wird es mir scheinbar zu kompliziert.
Ich habe das packaging einfach auf ear gestellt und statt dem war-plugin das ear-plugin verwendet.
Wenn ich das aber jetzt einfach mit dem package-goal builde, dann erhalte ich ein ear-file, in dem es kein war-file gibt.
Es wurden lediglich die externen Ressourcen hinein gemappt, die ich eigentlich im WEB-INF/lib erwarte.
Ich versuche zwar mich durch die Dokumentation durch zu arbeiten, aber es ist immer doof, wenn man nicht weiß, wie das heißt, was man sucht.
Anbei mal mein altes ant-build:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<project name="myProject" basedir="." default="makeear" xmlns:wlp="antlib:net.wasdev.wlp.ant">
<property file = "build.properties"/>
<property name = "build.dir" value = "${web.dir}/WEB-INF/classes"/>
<path id = "master-classpath">
<fileset dir = "${lib.dir}">
<include name = "*.jar"/>
</fileset>
<pathelement path = "${build.dir}"/>
</path>
<target name = "clean" description = "Clean output directories">
<delete dir="${build.dir}"/>
</target>
<target name = "build" depends = "clean" description = "Compile main source tree java files">
<mkdir dir = "${build.dir}"/>
<javac destdir = "${build.dir}" debug = "true"
deprecation = "false" optimize = "false" failonerror = "true"
encoding="ISO-8859-1" includeantruntime="false">
<src path = "${src.dir}"/>
<classpath refid = "master-classpath"/>
</javac>
<mkdir dir="${ressource.dir}"/>
</target>
<target name="copyressources" depends="build">
<copy todir = "${ressource.dir}" preservelastmodified = "false" overwrite="true">
<fileset dir = "${src.dir}/main/resources" />
</copy>
</target>
<target name = "makewar" depends = "copyressources">
<war destfile = "${name}.war" webxml = "${web.dir}/WEB-INF/web.xml">
<fileset dir = "${web.dir}">
<include name = "**/*.*"/>
</fileset>
</war>
</target>
<target name="makeear" depends="makewar" description="Creates Ear-File">
<tar destfile="${name}-properties.tar" basedir="${tar.dir}"/>
<ear destfile="${name}.ear" appxml="${meta.dir}/application.xml">
<metainf dir="${web.dir}/META-INF"/>
<fileset dir = ".">
<include name="*.war"/>
<exclude name="META-INF/application.xml"/>
</fileset>
</ear>
<delete file="${name}.war"/>
</target>
</project>
Bitte nicht die Kleinigkeiten bemängeln, ich will im Maven einiges besser machen, z.B. mal ein "ordentliches" Encoding verwenden.
Aber wo ich so drüber nachdenke:
Habe ich vielleicht einen Denkfehler im Gesamtkonzept?
Ist meine Anwendung evtl. eigentlich ein Modul in meinem Projekt?
Also bräuchte ich eigentlich ein Modul, welches in der pom als packaging war stehen hat.
Darüber habe ich dann das "HauptModul" welches in der Pom als packaging ear hat und als einzige dependency das Modul?