Maven EAR mittels Maven erzeugen

y0dA

Top Contributor
Hallo!

Könnte mich jemand unterstützen wie ich ein EAR mittels Maven bauen kann. Aktuell scheitert es bei der korrekten Definition der einzelnen .pom Dateien (bei Bedarf kann ich selbige auch posten).

Projektstruktur:
Domain
ServiceClient (Dependency zu Domain)
Service (Dependency zu Domain und ServiceClient)
Web (eigentlich Dependencies zu Domain,ServiceClient sowie Service jedoch sollten bei der EAR Erstellung die Libs nicht im WAR
liegen)
Ear

Dann habe ich noch ein Parent Pom:
Java:
..
	<modelVersion>4.0.0</modelVersion>
	<groupId>at.xx.yy.zz</groupId>
	<artifactId>Parent</artifactId>
 	 <version>0.6</version>
  	<packaging>pom</packaging>
	   <name>ZWR Parent</name>  
  
	<modules>
		<module>../Domain</module>
		<module>../ServiceClient</module>
		<module>../Service</module>
		<module>../Web</module>
		<!-- <module>../Ear</module>  -->
	</modules>
...

Könnte mir jemand verraten wie ich die einzelnen Dependencies anzugeben habe (darf ich überhaupt bei Service und ServiceClient selbige angeben)?
Wenn ich das EAR erzeuge wird bei mir im lokalen Repository nach einem Web.jar gesucht anstatt einem Web.war etc.
Also ich kann alle Projekte einzeln erzeugen sowie ein WAR nur das EAR klappt nicht.

**EDIT**
Aktuell sieht mein Pom fürs EAR so aus (sicher viel zu wenig angegeben :D):
Java:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<parent>
		<groupId>at.xx.yy</groupId>
		<artifactId>Parent</artifactId>
		<version>0.6</version>
		<relativePath>./../Parent/pom.xml</relativePath>
	</parent>
  
  	<modelVersion>4.0.0</modelVersion>
	<artifactId>Ear</artifactId>
	<packaging>ear</packaging>	
	<name>Enterprise Archive Projekt</name>
	
	<dependencies>
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Web</artifactId>
			<version>0.6</version>
			<type>war</type>
		</dependency>
		
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>
	</dependencies>

</project>

Hierbei wird dann natürlich auch ein EAR erzeugt aber nicht so wie gebraucht:
Inhalt beim erzeugten EAR:
META-INF
log4j-1.2.16.jar
Web-0.6.war

Sollte sein:
target
META-INF
lib (beinhalt u.a. auch ServiceClient.jar,Domain.jar)
Service.jar (EJB Projekt)
Web.war
pom.xml
 
Zuletzt bearbeitet:

kama

Top Contributor
Hi,

hier schon mal vorbei geschaut:

Maven Ear plugin - Introduction

EDIT: Was mir komisch vorkommt, dass deine modules mit einem relativen Pfade "../" angegeben sind...liegt der Parent nicht Verzeichnistechnisch über den modulen?
EDIT: Was mir auch sehr komisch vorkommt ist, dass Du anscheinend keine -SNAPSHOT versionen verwendest...überall stehen "0.6" anstatt "0.6-SNAPSHOT" ?

Gruß
Karl Heinz Marbaise
 
Zuletzt bearbeitet:

mvitz

Top Contributor
Ich habe folgendes als "Template"

Code:
|-  pom.xml [parent.pom]
|-  ear
|     |-  pom.xml [ear.pom]
       `- src/main/application/META-INF/application.xml
|-  ejb
      |-  pom.xml [ejb.pom]
       `- src/...
 `- war
      |-  pom.xml [war.pom]
       `- src/...

parent.pom
[XML]<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>de.mvitz</groupId>
<artifactId>javaee</artifactId>

<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
<module>ejb</module>
<module>war</module>
<module>ear</module>
</modules>

<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>

</project>[/XML]
ear.pom
[XML]<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>de.mvitz</groupId>
<artifactId>javaee</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<groupId>de.mvitz</groupId>
<artifactId>javaee.ear</artifactId>

<version>0.0.1-SNAPSHOT</version>
<packaging>ear</packaging>

<dependencies>
<dependency>
<groupId>de.mvitz</groupId>
<artifactId>javaee.war</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>de.mvitz</groupId>
<artifactId>javaee.ejb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>ejb</type>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4.2</version>
</plugin>
</plugins>
</build>

</project>[/XML]
ejb.pom
[XML]<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>de.mvitz</groupId>
<artifactId>javaee</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<groupId>de.mvitz</groupId>
<artifactId>javaee.ejb</artifactId>

<version>0.0.1-SNAPSHOT</version>
<packaging>ejb</packaging>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<ejbVersion>3.1</ejbVersion>
<generateClient>true</generateClient>
</configuration>
</plugin>
</plugins>
</build>

</project>[/XML]
war.pom
[XML]<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>de.mvitz</groupId>
<artifactId>javaee</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<groupId>de.mvitz</groupId>
<artifactId>javaee.war</artifactId>

<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<dependencies>
<dependency>
<groupId>de.mvitz</groupId>
<artifactId>javaee.ejb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>ejb-client</type>
</dependency>
</dependencies>

</project>[/XML]

Evtl. hilft dir das ja.
 

y0dA

Top Contributor
Hi,

hier schon mal vorbei geschaut:

Maven Ear plugin - Introduction

EDIT: Was mir komisch vorkommt, dass deine modules mit einem relativen Pfade "../" angegeben sind...liegt der Parent nicht Verzeichnistechnisch über den modulen?
EDIT: Was mir auch sehr komisch vorkommt ist, dass Du anscheinend keine -SNAPSHOT versionen verwendest...überall stehen "0.6" anstatt "0.6-SNAPSHOT" ?

Gruß
Karl Heinz Marbaise

Danke für die Antwort.
relative Pfade deshalb weil der Parent Pom in einem eigenen Projekt liegt. Bezüglich der Versionierung, ist es denn notwendig "-SNAPSHOT" hinzuzufügen?


@mvitz Für selbige Variante, also nur EAR, Web und EJB, habe ich auch schon eine andere Anleitung, eben auf der Maven Seite, gefunden. In meinem Fall gibt es aber mehr Projekte und mehr Abhängigkeiten untereinander.
 

kama

Top Contributor
Hi,

parent.pom
[XML]<project
<modules>
<module>ejb</module>
<module>war</module>
<module>ear</module>
</modules>
..
</project>[/XML]
So ist das Ok...Ich hatte mich nur über die Einträge <module>../xyz</module> in dem ursprungs post gewundert....

[XML]<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>de.mvitz</groupId>
<artifactId>javaee</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<groupId>de.mvitz</groupId>
<artifactId>javaee.ear</artifactId>
<version>0.0.1-SNAPSHOT</version>
[/XML]
Hier auf keinen fall die Version hinschreiben.... sondern wie folgt:

[XML]<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>de.mvitz</groupId>
<artifactId>javaee</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>

<groupId>de.mvitz</groupId>
<artifactId>javaee.ear</artifactId>

[/XML]


und bei dependencies innerhalb eines Multi-Module Builds:

[XML]
<dependencies>
<dependency>
<groupId>de.mvitz</groupId>
<artifactId>javaee.war</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>war</type>
</dependency>
[/xml]
sondern:
[XML]
<dependencies>
<dependency>
<groupId>de.mvitz</groupId>
<artifactId>javaee.war</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
[/xml]
Wenn die groupId auch noch identisch ist kann man das auch per ${project.groupId} nutzen....

Ich empfehle noch zur weiteren Vertiefung:
Books | Sonatype
Dort z.B. Maven by Example, oder "Maven: Complete Reference" etc.

Zum Thema Version: 0.6-SNAPSHOT bedeutet in Maven, dass daran gerade entwickelt wird. Eine Verison 0.6 bedeutet, dass das eine released Version ist. Somit käme hier sinnvollerweise 0.6-SNAPSHOT in Betracht...

Gruß
Karl Heinz Marbaise
 

mvitz

Top Contributor
...

@mvitz Für selbige Variante, also nur EAR, Web und EJB, habe ich auch schon eine andere Anleitung, eben auf der Maven Seite, gefunden. In meinem Fall gibt es aber mehr Projekte und mehr Abhängigkeiten untereinander.

Naja, dann hat man halt mehrere ejb1, ejb2, ejb3 Subprojekte und trägt dann in dem War Projekt einfach noch die zusätzlichen Abhängigkeiten ein.
 

y0dA

Top Contributor
Naja, dann hat man halt mehrere ejb1, ejb2, ejb3 Subprojekte und trägt dann in dem War Projekt einfach noch die zusätzlichen Abhängigkeiten ein.

Diese Subprojekte sind aber keine EJB Projekte sondern bspw. das Domain Projekt wo nur Pojos drinnen stehen.

**EDIT**
Ich poste nun mal die Struktur und wie die POM Files aussehen.

Struktur:
Code:
|-  parent
      |- pom.xml [parent.pom]
|-  ear
|     |-  pom.xml [ear.pom]
       - META-INF/application.xml
|-  service (ejb projekt)
      |-  pom.xml [ejb.pom]
       `- src/...
|-  war
      |-  pom.xml [war.pom]
       `- src/...
|-  domain
      |-  pom.xml [war.pom]
       `- src/...
|-  serviceclient (beinhaltet nur die Interfaces zu Service - Struktur nicht von mir definiert..)
      |-  pom.xml [war.pom]
       `- src/...

parent pom:
Java:
	<modelVersion>4.0.0</modelVersion>
	<groupId>at.xx.yy</groupId>
	<artifactId>RParent</artifactId>
 	<version>0.0.1-SNAPSHOT</version>
  	<packaging>pom</packaging>
	 <name>Parent</name>  
  
	<modules>
		<module>../Domain</module>
		<module>../ServiceClient</module>
		<module>../Service</module>
		<module>../Web</module>
		<module>../Ear</module>
	</modules>

  <properties>
    <src>src</src>
 		<target.junit>${target}/test-classes</target.junit>
		<target.install>${target}/install</target.install>
		<target.jar>${target}/jar</target.jar>
		<target.javadoc>${target}/javadoc</target.javadoc>
		<target>target</target>
		<src.java>${src}/main/java</src.java>
		<src.junit>${src}/test/java</src.junit>
		<target.testreports>
			${target}/surefire-reports
		</target.testreports>
		<doc>doc</doc>
		<target.java>${target}/classes</target.java>
   		<ejb.version>3.0</ejb.version>
		<hibernate.core.version>3.5.3-Final</hibernate.core.version>
   		 <log4j.version>1.2.16</log4j.version>
		<junit.version>4.8.1</junit.version>
	</properties>

	<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<verbose>true</verbose>
					<compilerVersion>1.6</compilerVersion>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<testFailureIgnore>false</testFailureIgnore>
					<excludes>
						<exclude>**/*Base*.java</exclude>
					</excludes>
					<forkMode>once</forkMode>
				</configuration>
			</plugin>
		</plugins>
		
	</build>

ear pom:
Java:
	<parent>
		<groupId>at.xx.yy</groupId>
		<artifactId>Parent</artifactId>
		<version>>0.0.1-SNAPSHOT</version>
		<relativePath>./../Parent/pom.xml</relativePath>
	</parent>
  
  	<modelVersion>4.0.0</modelVersion>
	<artifactId>Ear</artifactId>
	<packaging>ear</packaging>
	<name>Enterprise Archive Projekt</name>
	
	<dependencies>
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Web</artifactId>
			<version>>0.0.1-SNAPSHOT</version>
			<type>war</type>
		</dependency>
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Service</artifactId>
			<version>>0.0.1-SNAPSHOT</version>
			<type>ejb</type>
		</dependency>
		
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>
	</dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.4.2</version>
      </plugin>
    </plugins>
  </build>

service pom:
Java:
	<parent>
		<groupId>at.xx.yy</groupId>
		<artifactId>Parent</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<relativePath>./../Parent/pom.xml</relativePath>
	</parent>
	
	<modelVersion>4.0.0</modelVersion>
	<artifactId>Service</artifactId>
	<packaging>ejb</packaging>
	<name>Service Projekt</name>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-ejb-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<ejbVersion>3.0</ejbVersion>
					<generateClient>true</generateClient>
				</configuration>
			</plugin>
		</plugins>
	</build>

	 <dependencies>		
	<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Domain</artifactId>
			<version>>0.0.1-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency> 
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>ServiceClient</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.apache.openjpa</groupId>
			<artifactId>openjpa</artifactId>
			<version>1.2.2</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.ejb</groupId>
			<artifactId>ejb-api</artifactId>
			<version>${ejb.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
      		<groupId>com.bm</groupId>
	      	<artifactId>ejb3unit</artifactId>
	      	<version>2.0.0-RC-1</version>
	    </dependency>
        <dependency>
            <groupId>org.apache.openejb</groupId>
            <artifactId>openejb-core</artifactId>
            <version>3.1</version>
            <scope>test</scope>
        </dependency>
		<dependency>
		  <groupId>com.ibm.db2.jcc</groupId> 
		  <artifactId>db2jcc</artifactId> 
		  <version>1.3.1</version> 
		  <scope>test</scope> 
		</dependency>
		<dependency>
		  <groupId>com.ibm.db2.jcc</groupId> 
		  <artifactId>db2jcc_license_cisuz</artifactId> 
		  <version>1.3.1</version> 
		  <scope>test</scope> 
		</dependency>
	</dependencies>

war pom:
Java:
	<parent>
		<groupId>at.xx.yy</groupId>
		<artifactId>Parent</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<relativePath>./../Parent/pom.xml</relativePath>
	</parent>
	
	<modelVersion>4.0.0</modelVersion>
	<artifactId>Web</artifactId>
	<packaging>war</packaging>
	<name>Web Projekt</name>
	
	<dependencies>	
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Domain</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>ServiceClient</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Service</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>	

		<dependency>
			<groupId>javax.ejb</groupId>
			<artifactId>ejb-api</artifactId>
			<version>${ejb.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
	      <groupId>javax.servlet</groupId>
	      <artifactId>servlet-api</artifactId>
	      <version>2.5</version>
	    </dependency>
	    <dependency>
	    	<groupId>javax.el</groupId>
	    	<artifactId>el-api</artifactId>
	    	<version>1.0</version>
	    </dependency>
		<dependency>
			<groupId>javax.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>1.2_14</version>
		</dependency>
		<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
		<dependency>
			<groupId>javax.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>1.2_14</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.sun.facelets</groupId>
			<artifactId>jsf-facelets</artifactId>
			<version>1.1.14</version>
		</dependency>
		<dependency>
			<groupId>org.richfaces.ui</groupId>
			<artifactId>richfaces-ui</artifactId>
			<version>3.3.3.Final</version>
		</dependency>
		<dependency>
			<groupId>org.richfaces.framework</groupId>
			<artifactId>richfaces-api</artifactId>
			<version>3.3.3.Final</version>
		</dependency>
		<dependency>
			<groupId>org.richfaces.framework</groupId>
			<artifactId>richfaces-impl</artifactId>
			<version>3.3.3.Final</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>	
	</dependencies>
	<build>
    <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
    <outputDirectory>${basedir}/WebContent/WEB-INF/classes</outputDirectory>
    <resources>
      <resource>
        <directory>${basedir}/src/main/java</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>${basedir}/WebContent</webappDirectory>
          <warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

domain pom:
Java:
	<parent>
		<groupId>at.xx.yy</groupId>
		<artifactId>Parent</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<relativePath>./../Parent/pom.xml</relativePath>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<artifactId>Domain</artifactId>
	<packaging>jar</packaging>
	<name>Domain Projekt</name>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
		    <groupId>org.hibernate</groupId>
		    <artifactId>hibernate-core</artifactId>
		    <version>3.5.5-Final</version>
   		</dependency>
		<dependency>
		    <groupId>org.hibernate</groupId>
		    <artifactId>hibernate-validator</artifactId>
		    <version>4.1.0.Final</version>
   		</dependency>
		<dependency>
	      <groupId>org.slf4j</groupId>
	      <artifactId>slf4j-log4j12</artifactId>
	      <version>1.5.6</version>
	    </dependency>
    	<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>${log4j.version}</version>
		</dependency>
		<dependency>
	      <groupId>net.sf.jasperreports</groupId>
	      <artifactId>jasperreports</artifactId>
	      <version>3.7.6</version>
	    </dependency>
		<dependency>
	      <groupId>groovy</groupId>
	      <artifactId>groovy-all</artifactId>
	      <version>1.7.2</version>
	    </dependency>
	</dependencies>

serviceclient pom:
Java:
	<parent>
		<groupId>at.xx.yy</groupId>
		<artifactId>Parent</artifactId>
		<version>0.0.1-SNAPSHOT</version>
		<relativePath>./../ZWRParent/pom.xml</relativePath>
	</parent>
	
	<modelVersion>4.0.0</modelVersion>
	<artifactId>ServiceClient</artifactId>
	<name>Service Client</name>
	<description>beinhaltet die Schnittstellen zu dem ProjektService</description>

	<dependencies>
		<dependency>
			<groupId>at.xx.yy</groupId>
			<artifactId>Domain</artifactId>
			<version>0.0.1-SNAPSHOT</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
 
Zuletzt bearbeitet:

kama

Top Contributor
Hi,

mein erster Vorschlag wäre den Parent an eine andere Position zu legen. Nicht so
Code:
|-  parent
      |- pom.xml [parent.pom]
|-  ear
|     |-  pom.xml [ear.pom]
       - META-INF/application.xml
|-  service (ejb projekt)
      |-  pom.xml [ejb.pom]
       `- src/...
|-  war
      |-  pom.xml [war.pom]
       `- src/...
|-  domain
      |-  pom.xml [war.pom]
       `- src/...
|-  serviceclient (beinhaltet nur die Interfaces zu Service - Struktur nicht von mir definiert..)
      |-  pom.xml [war.pom]
       `- src/...

sondern so: Damit vereinfachen sich einige definitionen:
Code:
pom.xml [parent.pom]
|-  ear
|     |-  pom.xml [ear.pom]
       - META-INF/application.xml
|-  service (ejb projekt)
      |-  pom.xml [ejb.pom]
       `- src/...
|-  war
      |-  pom.xml [war.pom]
       `- src/...
|-  domain
      |-  pom.xml [war.pom]
       `- src/...
|-  serviceclient (beinhaltet nur die Interfaces zu Service - Struktur nicht von mir definiert..)
      |-  pom.xml [war.pom]
       `- src/...

Weiterhin fällt mir auf, dass die Property definitionen im parent:
[xml]
<properties>
<src>src</src>
<target.junit>${target}/test-classes</target.junit>
<target.install>${target}/install</target.install>
<target.jar>${target}/jar</target.jar>
<target.javadoc>${target}/javadoc</target.javadoc>
<target>target</target>
<src.java>${src}/main/java</src.java>
<src.junit>${src}/test/java</src.junit>
<target.testreports>
${target}/surefire-reports
</target.testreports>
<doc>doc</doc>
<target.java>${target}/classes</target.java>
<subversion.url>https://zsvn.brz.gv.at/svn/zwr</subversion.url>
</properties>
[/xml]
Wofür werden die gebraucht? Vor allem so sachen wie <src.java> etc. ?
Zugriffe auf das Target Verzeichnis mach man per: ${project.build.outputDirectory} etc. siehe auch hier

Im folgenden werden Dinge definiert die in Maven Default sind...Somit nicht nötig...
Aber warum das outputDirectory umdefiniert wird ist mir nicht klar!!!! Bitte prüfen!!!!

[xml] <build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
<outputDirectory>${basedir}/WebContent/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>${basedir}/WebContent</webappDirectory>
<warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
</configuration>
</plugin>
[/xml]
Resources gehören nach src/main/resources bzw. WebResources src/main/webapp/XXX/? (in der doku zum maven-war-plugin nachschauen).

Gruß
Karl Heinz Marbaise
 

y0dA

Top Contributor
Du meinst im War Projekt folgendes entfernen?
[xml]
<build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
<outputDirectory>${basedir}/WebContent/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>${basedir}/WebContent</webappDirectory>
<warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
[/xml]

Das Parent Pom ist aus dem Grund in einen eigenem Projekt weil ich sonst in den poms immer einen Fehler bekomme dass die parent pom nicht gefunden werden kann - aber wenn es zum Ziel führt mache ich das gerne wieder rückgängig.

Die property Definitionen im parent pom sind historisch sprich kann ich rausnehmen.
 

mvitz

Top Contributor
Ansonsten habe ich gerade mal ein Projekt erstellt, das so ungefähr deinem Layout entspricht (nur, dass ich jetzt auf die ganzen externen Dependencies verzichtet habe).

Es besteht aus domain, service, service-client, webgui und app [ear]. Und funktioniert bei mir auf glassfish v3.1

java-library-examples - Revision 85: /trunk/javaee

Evtl. hilft dir das ja auch noch, auch wenn kama sicherlich mehr Ahnung von Maven hat als ich.
 

y0dA

Top Contributor
Also wenn ich
[xml]
<outputDirectory>${basedir}/WebContent/WEB-INF/classes</outputDirectory>
[/xml]
aus der war pom entferne dann kann ich gar nicht mehr builden, bekomme dann folgenden Fehler:
Code:
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] \Entwicklung\XX\workspace\Web\src\main\java\at\xx\yy\w\UebersichtBean.java:[92,46] type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object
[ERROR] \Entwicklung\XX\workspace\Web\src\main\java\at\xx\yy\web\w\UebersichtBean.java:[95,42] type parameters of <T>T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.031s
[INFO] Finished at: Wed Mar 30 14:54:45 CEST 2011
[INFO] Final Memory: 13M/20M

**EDIT**
Konnte nun erstmals ein EAR erzeugen und habe selbiges gleich mal am Websphere getestet, mit dem Ergebnis dass ich folgenden Fehler bekomme:
Code:
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: Failed to process xml from Deployment Descriptor
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:382)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1122)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1319)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:609)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:944)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:725)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1266)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:4520)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4698)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1271)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2043)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:439)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:382)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:653)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:615)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1177)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at java.lang.reflect.Method.invoke(Method.java:600)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at java.lang.reflect.Method.invoke(Method.java:600)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1086)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:967)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
[30/03/11 15:26:35:062 CEST] 00000019 SystemErr     R 	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1332)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1225)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.management.commands.AdminServiceCommands$InvokeCmd.execute(AdminServiceCommands.java:251)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.console.core.mbean.MBeanHelper.invoke(MBeanHelper.java:239)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.console.appdeployment.ApplicationDeploymentCollectionAction.execute(ApplicationDeploymentCollectionAction.java:564)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.RequestProcessor.processActionPerform(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.RequestProcessor.process(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.ActionServlet.process(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.ActionServlet.doPost(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:104)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:341)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.RequestProcessor.doForward(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.tiles.TilesRequestProcessor.doForward(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.RequestProcessor.processForwardConfig(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.isclite.container.controller.InformationController.processForwardConfig(InformationController.java:217)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.RequestProcessor.process(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.ActionServlet.process(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at org.apache.struts.action.ActionServlet.doPost(Unknown Source)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.console.core.servlet.WSCUrlFilter.setUpCommandAssistence(WSCUrlFilter.java:933)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.console.core.servlet.WSCUrlFilter.continueStoringTaskState(WSCUrlFilter.java:500)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.console.core.servlet.WSCUrlFilter.doFilter(WSCUrlFilter.java:321)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
[30/03/11 15:26:35:078 CEST] 00000019 SystemErr     R Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: Failed to process xml from Deployment Descriptor

Wenn ich mir das EAR so ansehe fällt mir folgendes auf:
-) es gibt keinen lib Ordner sondern die JARs werden einfach so ins EAR gelegt (beim EAR von Eclipse gibt es selbigen)
-) es sind weniger libs im EAR Ordner als wenn Eclipse das EAR erzeugt (sicher net verkehrt, denke dass myEclipse wahrscheinlich mehr reinpackt als es müsste)
-) das MANIFEST.MF unter META-INF sieht anders aus, entspricht nicht jenem im Projekt.
Ist:
[xml]
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: myname
Build-Jdk: 1.6.0
[/xml]

Sollte:
[xml]
Manifest-Version: 1.0
Class-Path: domain.jar serviceclient.jar
[/xml]

Auch die application.xml unter META-INF ist nicht die richtige:
Ist:
[xml]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE application (View Source for full doctype...)>
<application>
<display-name>Ear</display-name>
<module>
<web>
<web-uri>Web-0.0.1-SNAPSHOT.war</web-uri>
<context-root>/Web</context-root>
</web>
</module>
</application>
[/xml]

Sollte:
[xml]
<?xml version="1.0" encoding="UTF-8" ?>
- <application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<description>xx</description>
<display-name>Ear</display-name>
<icon />
<module id="myeclipse.1282050526281">
<web>
<web-uri>Web.war</web-uri>
<context-root>/Web</context-root>
</web>
</module>
<module id="myeclipse.1282235191453">
<ejb>Service.jar</ejb>
</module>
<library-directory>lib/</library-directory>
</application>
[/xml]

Auch noch zu erwähnen wäre dass ich bisher das EAR mittels mvn install (über Eclipse) erstellt habe.
 
Zuletzt bearbeitet:

kama

Top Contributor
Hi,

[xml]
<build>
<sourceDirectory>${basedir}/src/main/java</sourceDirectory>
<outputDirectory>${basedir}/WebContent/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>${basedir}/WebContent</webappDirectory>
<warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
[/xml]
Es sollte so aussehen:

[xml]
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
[/xml]

Gruß
Karl Heinz Marbaise
 

kama

Top Contributor
Hi,

Wenn ich mir das EAR so ansehe fällt mir folgendes auf:
-) es gibt keinen lib Ordner sondern die JARs werden einfach so ins EAR gelegt (beim EAR von Eclipse gibt es selbigen)
-) es sind weniger libs im EAR Ordner als wenn Eclipse das EAR erzeugt (sicher net verkehrt, denke dass myEclipse wahrscheinlich mehr reinpackt als es müsste)
-) das MANIFEST.MF unter META-INF sieht anders aus, entspricht nicht jenem im Projekt.
Ist:
Sollte:
[xml]
Manifest-Version: 1.0
Class-Path: domain.jar serviceclient.jar
[/xml]
Um die Sachen so zu bekommen solltest Du Dir die Doku zum maven-ear-plugin anschauen...Wichtig ist auch, dass Du die aktuelle Version 2.5 von maven-ear-plugin verwendest und nicht eine veraltet (2.4?)...
Beim MANIFEST.MF ist das maven-jar-plugin die richtige Adresse..(kann man eben auch anpassen..)...


Gruß
Karl Heinz Marbiase
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
C Aufruf eines Java Programms mittels ant MIT Parametern Tools - Maven, Gradle, Ant & mehr 2
ARadauer Probleme mittels scp bei ant Tools - Maven, Gradle, Ant & mehr 1
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M Spring Boot Maven pom.xml-Eintrag Tools - Maven, Gradle, Ant & mehr 17
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4
P multimodul maven in SVN Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben