POI, Maven, JBoss und ein java.lang.NoClassDefFoundError

Status
Nicht offen für weitere Antworten.

testfall

Mitglied
Hallo ich habe eine Webanwendung in dessen Controller ich die POI-Lib für excel etc. gebrauche.
Diese Lib habe ich über Maven mit
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.0.2-beta1</version>
in die pom.xml im Controllerpackage eingebunden. Alles wird auch runtergeladen etc. und beim Maven build in das ear gepackt.
Wird aber der Code mit POI-Klassen ausgeführt, dann bekomme ich folgenden Fehler

11:41:41,562 FATAL [application] java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/POIFSFileSystem
javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/POIFSFileSystem
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
at javax.faces.component.UICommand.broadcast(UICommand.java:383)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
...

Hat jemand eine Idee?
Danke
 

testfall

Mitglied
Am einfachsten ist es wenn man die poiX.jar in das JBoss/server/default/lib Verzeichnis legt, dieses ist aber nicht die gewünschte Lösung, da die jar ja schon im ear vorhanden ist... :?
 

kama

Top Contributor
Hallo,

da wäre meine erste Frage, wie die pom.xml dafür aussieht....und zweitens wie das resultierende ear file aussieht?....

MfG
Karl Heinz Marbaise
 

testfall

Mitglied
Auszug aus der pom.xml beim Controller

Code:
<dependency>
		<groupId>javax.ejb</groupId>
		<artifactId>ejb-api</artifactId>
	</dependency>
	
	<dependency>
    	<groupId>org.apache.poi</groupId>
    	<artifactId>poi</artifactId>
    <version>3.0.2-beta1</version>
	</dependency>

	</dependencies>
</project>


hier ein teil der pom.xml für die ejb

Code:
 	<dependency>
		<groupId>org.jboss.seam</groupId>
		<artifactId>jboss-seam</artifactId>
			<exclusions>
	          <exclusion>
				<groupId>jboss</groupId>
				<artifactId>javassist</artifactId>
              </exclusion>
	          <exclusion>
				<groupId>javax.el</groupId>
				<artifactId>el-api</artifactId>
              </exclusion>              
	          <exclusion>
				<groupId>dom4j</groupId>
				<artifactId>dom4j</artifactId>
              </exclusion>              
            </exclusions> 
	</dependency>
 


		<dependency>
			<groupId>de.bonprix.teleshop</groupId>
			<artifactId>teleshop-controller-ejb</artifactId>
			<version>${project.version}</version>
			<type>ejb</type>
		</dependency> 

		<dependency>
			<groupId>de.bonprix.teleshop</groupId>
			<artifactId>teleshop-view-war</artifactId>
			<version>${project.version}</version>
			<type>war</type>
	    </dependency>

	</dependencies>


	<build>
		<finalName>${project.parent.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-ear-plugin</artifactId>
				<configuration>
					<displayName>XXXEAR</displayName>
					<description>${project.description} ${version}</description>
					
					<version>5</version>
					<modules>
  						<ejbModule>
							<groupId>de.xxx</groupId>
							<artifactId>xxx-model-ejb</artifactId>
						</ejbModule> 
 						<ejbModule>
							<groupId>de.xxx</groupId>
							<artifactId>xxx-controller-ejb</artifactId>
						</ejbModule> 
						<webModule>
							<groupId>de.xxx</groupId>
							<artifactId>teleshop-view-war</artifactId>
							<contextRoot>/xxx</contextRoot>
						</webModule>
						<javaModule>
					        <groupId>org.jboss.seam</groupId>
					        <artifactId>jboss-seam</artifactId>
							<bundleDir>/lib</bundleDir>
						</javaModule>												
						<javaModule>
					        <groupId>org.jboss.seam</groupId>
					        <artifactId>jboss-el</artifactId>						
					        <bundleDir>/lib</bundleDir>
						</javaModule>
					</modules>
				</configuration>
			</plugin>
		</plugins>
	</build>


Im EAR-content liegt die poi direkt im ear-contents:
-WEB-INF
-lib
-xxx.war
-xxx-controller.jar
-poi.jar
....

Da isses also.


Das war doch das wass Sie/Du haben wolltest, oder?
 

kama

Top Contributor
Hallo,

hm...so weit ich weiß muss doch innerhalb eines EAR files auch eine application.xml vorhanden sein....

Inhalt app.ear:
Code:
    /
    !
    +--- META-INF
    !       MANIFEST.MF
    !       application.xml
    +--- x.war
    +--- y.sar

Inhalt: y.sar:
Code:
    /
    !
    +--- META-INF
    !     MANIFEST.MF
    +--- app.jar

Inhalt: app.jar:
Code:
    /
    !
    +--- META-INF
    !
    +--- lib
    !     !
    !     +--- alle jars (auch POI).
    +--- eventuelle property files etc.

Achso die application.xml:
Code:
<application>
	<display-name>XXX</display-name>
	<module>
		<web>
			<web-uri></web-uri>
			<context-root></context-root>
		</web>
	</module
	<module
		<ejb>y.sar</ejb>
	</module>
</application>

So und soweit ich die Doku zu Maven verstanden habe, wird die application.xml sogar automatisch erzeugt...

http://maven.apache.org/plugins/mav...a-third-party-library-in-application-xml.html

Ich bin nämlich der Meinung, dass mit der genannten Struktur des EAR das deployment eigentlich schief gehen muss...Da müssen doch meldungen im Log vom JBoss zu sehen sein ? Das EJB Deployment muss explizit aufauchen.....

MfG
Karl Heinz Marbaise
 

testfall

Mitglied
Es wird deployed:

Code:
[EJB3Deployer] Deployed: 
[EJB3Deployer] Deployed: file:/C:/Programme/Jboss/server/default/tmp/deploy/tmp14944xxx.ear-contents/xxx-controller-ejb-0.1-SNAPSHOT.jar
...
file:/C:/Programme/Jboss/server/default/tmp/deploy/tmp14944xxx.ear-contents/xxx-model-ejb-0.1-SNAPSHOT.jar
16:16:53,250 INFO  [TomcatDeployer] deploy,


Eine .sar Datei habe ich nicht.

Auf meinem Server gibt es im deloyment ordner folgende struktur:
Code:
/
|
+-lib
|
+-META-INF
|
+-xxx-view-war-0.1-SNAPSHOT-exp.war
|
|--commons-logging-1.1.jar
|
|--ejb-api-3.0.jar
|
|--log4j-1.2.14.jar
|
|--poi-3.0.2-beta1.jar
|
|--xxx-controller-ejb-0.1-SNAPSHOT.jar
|
|--xxx-model-ejb-0.1-SNAPSHOT.jar
|
|--xxx-view-war-0.1-SNAPSHOT.war


Die application.xml wird von maven erzeugt.
Die poi-lib habe ich ja über die pom.xml eingebunden.

Danke.
 

kama

Top Contributor
Hallo,

testfall hat gesagt.:
Code:
/
|
+-lib
|
+-META-INF
|
+-xxx-view-war-0.1-SNAPSHOT-exp.war
|
|--commons-logging-1.1.jar
|
|--ejb-api-3.0.jar
|
|--log4j-1.2.14.jar
|
|--poi-3.0.2-beta1.jar
|
|--xxx-controller-ejb-0.1-SNAPSHOT.jar
|
|--xxx-model-ejb-0.1-SNAPSHOT.jar
|
|--xxx-view-war-0.1-SNAPSHOT.war
Hm. Ich bin der Meinung, dass die ganzen Jar's hier in das "lib" verzeichnis müssen, damit Sie über den ClassPath gefunden werden können.

MfG
Karl Heinz Marbaise
 

testfall

Mitglied
Danke für die Antwort, muss ich bei Zeiten mal ausprobieren, bin letzter Zeit wgn Krankheit nicht dazu gekommen.
Mit der ejb-jar funktioniert es so aber ... mal gucken.

Grüße
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
P JavaEE 7 Maven Eclipse Allgemeines EE 0
B Maven und Proxy Allgemeines EE 3
P MAVEN + CDI + JSF + TomEE Allgemeines EE 8
J Maven: mit JUnit auf Test- und Main-Classes zugreifen Allgemeines EE 3
J JSF jsf und maven Allgemeines EE 6
J Maven & Deployment Allgemeines EE 7
D maven für javaEE projekt Allgemeines EE 20
P [Maven2] maven-jaxb2-plugin - Kein absoluter Pfad für "<schemaDirectory> möglich??? Allgemeines EE 2
Y XFire - Maven Build Problem Allgemeines EE 2
Y EJBs und Callbacks (Jboss 7.1) Allgemeines EE 1
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
P eMail versenden mit JBOSS Allgemeines EE 2
N WS-Security Beispiel mit JBOSS/Wildfly gesucht Allgemeines EE 2
I JBoss unheimlich langsam nach mehreren Deploys Allgemeines EE 2
BuckRogers Jboss 7** und j2ee 1.7 Allgemeines EE 1
D Jboss löscht Archiv nicht beim Redeployed Allgemeines EE 3
J paar Fragen zu JSF2/JEE6 Anwendung mit JBoss 7.1.1 Allgemeines EE 6
D Jboss lernen mit Praxisbeispiel Allgemeines EE 4
Y JBoss 7 - wie kann ich das logging meiner Applikation am JBoss konfigurieren Allgemeines EE 3
O JBoss und die Einbindung eines externen JAR Allgemeines EE 10
E Generelle Frage zu CDI mit JBoss AS 7.1.1 and Jave EE 6 Allgemeines EE 4
B JBoss Libs vs. JBoss Libary Allgemeines EE 12
E CDI mit verschiedenen Jars in EAR klappt auf Jboss AS 7.1.1.Final nicht Allgemeines EE 8
S Webapp in JBoss absichern nur in bestimmten Umgebungen? Allgemeines EE 2
C JBoss Clustering schlägt fehl Allgemeines EE 10
E JBoss 7.1 Datasource Problem Allgemeines EE 2
2 Deployment per EAR [JBOSS] Allgemeines EE 6
E JBoss NameNotFoundException: einloggen not bound Allgemeines EE 4
S Jboss Server Allgemeines EE 5
E JBoss, jsp und Parameter Allgemeines EE 2
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
S JBoss 7 Authentifizierung: "No principals available" Allgemeines EE 3
S Principal, Authentication, Security und alles im JBoss 7 Allgemeines EE 16
W JBoss 6 - SocketTimeout dynamisch setzen Allgemeines EE 2
S Manueller EJB Lookup im JBoss AS 7.0.1 Allgemeines EE 8
T eXist und JBoss Allgemeines EE 5
J JBoss, Eclipse, Webseite wird nicht angezeigt? Allgemeines EE 4
T erste Anwendung in JBoss deployen Allgemeines EE 3
V JBoss und Classloader Allgemeines EE 6
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
W Anleitung/Tutorial Eclipse/JBoss 6.0 mit Seam 3.0 bzw. jBPM 5.0 Allgemeines EE 3
G JBoss Portal Allgemeines EE 5
E Servlet Wie kann ich ohne Hilfe von Eclipse in JBoss mein servlet aufrufen Allgemeines EE 2
P Kann jemand mit dieser Exception was anfangen? (JBoss) Allgemeines EE 5
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
W JBoss log dependencies aus jbossall-client.jar Allgemeines EE 7
G JBoss Datasource Allgemeines EE 3
ruutaiokwu ejb hot deployment unter jboss 4.2.3 Allgemeines EE 7
fastjack jBoss und externes Nachrichtensystem Allgemeines EE 3
H log4j + JBoss Allgemeines EE 10
P JAAS mit jboss 6 Allgemeines EE 2
X JBoss log4j Konflikt Allgemeines EE 2
reibi JBoss Webinterface Allgemeines EE 3
X JBoss InitialContext problem Allgemeines EE 5
E Properties-File in Jboss-Conf Verzeichnis ansprechen Allgemeines EE 2
S Servlet auf JBoss 5? Allgemeines EE 11
T Hibernate 3 + EJB 3 + JBoss 5 Allgemeines EE 6
M Deployment auf entfernten JBoss Allgemeines EE 4
T JBoss und DB2-Express Allgemeines EE 2
G separate log files in JBoss Allgemeines EE 2
Escorter JBoss AS als Webserver Allgemeines EE 2
N JBoss Problem mit Bibliothek in unterschiedlichen Versionen Allgemeines EE 2
K mehrere Datenbanken mit JBoss 4.2 und EJB3 Allgemeines EE 3
S Oracle DataSource im JBOSS ---> ClassCastException Allgemeines EE 2
S oracle db über jboss in jsp Allgemeines EE 19
F FORM Auth in JBoss für User mit falscher Rolle ? Allgemeines EE 2
E JBoss mit existierendem Tomcat nutzen? Allgemeines EE 4
M embedded jboss unter eclipse 3.3 Allgemeines EE 2
M URL-Programm-Handling mit Jboss Allgemeines EE 2
G Deployen am JBoss Server Allgemeines EE 14
I JBOSS Jsp Files Pfad im Servlet? Allgemeines EE 4
B Problem mit JBoss-4.2.1.GA Allgemeines EE 8
remus JBoss Authentifizierung mit MYSQL-Datenbank Allgemeines EE 4
B Client ausführen mit JBoss v4.2 Allgemeines EE 3
G JBoss nutzt beim starten ständig das Root.war Allgemeines EE 12
R Jboss-Server mit Beispielanwendung füttern Allgemeines EE 2
R JBoss über lokale IP ansprechen Allgemeines EE 16
M JSP, MySQL und JBoss "No suitable Driver" Allgemeines EE 3
J Frage zu Jboss Allgemeines EE 7
N Jboss als Dienst -> Fehler 1053 Allgemeines EE 1
I JBOSS IDE EJB 3.0 Servlets JSP Applikation --> JSF sinnvo Allgemeines EE 2
S JBOSS-Security_DatabaseServerLoginModule Allgemeines EE 29
R Eclipse + JBoss + JSF Allgemeines EE 14
G webapplikation mit jsp, ejb 3.0 und jboss Allgemeines EE 10
T JBoss Installation . JAVA_HOME not set Allgemeines EE 2
JimPanse Jboss 4.2.0, myfaces bzw. Tomahawk Allgemeines EE 5
E JBoss Hibernate Datenbank-Timeout Allgemeines EE 3
G JBoss aus einem Java-Programm starten Allgemeines EE 11
G JSP und URL-Auflösung (JBoss 4.2.0) Allgemeines EE 4
G JBoss im LAN / wie konfigurieren Allgemeines EE 2
G JBoss + MySQL Allgemeines EE 8
R JBoss 4.2.0 - Eclipse RC 3.3 und WTP Allgemeines EE 3
D JBOSS unter Eclipse Allgemeines EE 2
B Servlet-Api.jar auf JBoss? (Migration von Tomcat zu JBoss) Allgemeines EE 4
F JBoss WebService Allgemeines EE 3
P Einarbeitung in JBOSS? Allgemeines EE 3
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
K JBoss AS & IDE Probleme Allgemeines EE 2
S JBoss gibt POI API nicht frei Allgemeines EE 8

Ähnliche Java Themen

Neue Themen


Oben