M
Mario___
Gast
Hallo zusammen,
kurz mal zur web-applikation: Die Anmeldung geht über einen eigenen Realm, welcher mittels hibernate aus einer Userdatenbank die notwendigen Daten liest (myrealm.jar), die notwendigen jar files habe ich alle in die server/lib des tomcat gegeben, sieht jetzt so aus:
hineinkopiert:
myrealm.jar
asm-3.1.jar
cglib-nodep-2.1_3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
jta.jar
junit-4.5.jar
log4j-1.2.15.jar
mysql-connector-java-5.1.5-bin.jar
own-services-api.jar
waren schon drin:
annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina-tribes.jar
catalina.jar
el-api.jar
jasper-el.jar
jasper-jdt.jar
jasper.jar
jsp-api.jar
servlet-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
Die Webapplikation selber muss auf eine andere Datenbank (auch mit hibernate), damit sieht die WEB-INF/lib so aus:
antlr-2.7.2.jar
asm-3.1.jar
asm-commons-3.1.jar
c3p0-0.9.1.2.jar
catalina.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-collections-2.1.1.jar
commons-csv-20070724.jar
commons-digester.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-lang-2.4.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-validator-1.3.1.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
FontBox-0.1.0-dev.jar
freemarker-2.3.8.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
iText-2.1.3.jar
iText-rtf-2.1.3.jar
jta.jar
log4j-1.2.15.jar
mail.jar
ognl-2.6.11.jar
original-xwork-2.1.2-SNAPSHOT.jar
oro-2.0.8.jar
PDFBox-0.7.3.jar
myrelease-management.jar
myservices-api.jar
myservices-impl.jar
myservices.jar
myPropertyReader.jar
struts-core-1.3.5.jar
struts2-config-browser-plugin-2.1.3-SNAPSHOT.jar
struts2-convention-plugin-2.1.3-SNAPSHOT.jar
struts2-core-2.1.3-SNAPSHOT.jar
struts2-pell-multipart-plugin-2.1.3-SNAPSHOT.jar
Das ganze hat gut funktioniert. Nun musste ich ein WebService (mit axis2) einbinden, welches jetzt services der Webapplikation benutzt, also nur code generieren und ein paar zeilen selber schreiben. + folgende jars im WEB-INF/lib
axiom-api-1.2.7.jar
axiom-impl-1.2.7.jar
axis2-adb-1.4.1.jar
axis2-jaxws-1.4.1.jar
axis2-kernel-1.4.1.jar
backport-util-concurrent-3.1.jar
commons-httpclient-3.1.jar
neethi-2.0.4.jar
woden-api-1.0M8.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.2.jar
Wenn jetzt aber das WebService aufgerufen wird gibt es folgende Exception:
SCHWERWIEGEND: Servlet.service() for servlet AxisServlet threw exception
org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:385)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.axis2.context.MessageContext.<clinit>(MessageContext.java:105)
at org.apache.axis2.context.ConfigurationContext.createMessageContext(ConfigurationContext.java:486)
at org.apache.axis2.transport.http.AxisServlet.createMessageContext(AxisServlet.java:626)
at org.apache.axis2.transport.http.AxisServlet.createMessageContext(AxisServlet.java:704)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Ich weiß das es wegen der commons-logging-1.0.4.jar im (WEB-INF/lib) und commons-logging-1.0.4.jar (im server/lib) ist, aber diese werden dort gebraucht. Entferne ich die commons-logging-1.0.4.jar im server/lib muss ich den rest auch entfernen bis zu den hibernate Klassen und damit kommt myreal.jar auch in die WEB-INF/lib, aber da findet tomcat es beim starten nicht. Umgekehrt wenn ich es im WEB-INF/lib entferne (+ hibernate-jars), wird hibernate-jars im server geladen und findeten die mapping-Klassen nicht mehr (die in der Webapplikation).
Verzwickte situation! Ich hoffe jemand weiß wie ich da rauskomme.
lg Mario
kurz mal zur web-applikation: Die Anmeldung geht über einen eigenen Realm, welcher mittels hibernate aus einer Userdatenbank die notwendigen Daten liest (myrealm.jar), die notwendigen jar files habe ich alle in die server/lib des tomcat gegeben, sieht jetzt so aus:
hineinkopiert:
myrealm.jar
asm-3.1.jar
cglib-nodep-2.1_3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
jta.jar
junit-4.5.jar
log4j-1.2.15.jar
mysql-connector-java-5.1.5-bin.jar
own-services-api.jar
waren schon drin:
annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina-tribes.jar
catalina.jar
el-api.jar
jasper-el.jar
jasper-jdt.jar
jasper.jar
jsp-api.jar
servlet-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
Die Webapplikation selber muss auf eine andere Datenbank (auch mit hibernate), damit sieht die WEB-INF/lib so aus:
antlr-2.7.2.jar
asm-3.1.jar
asm-commons-3.1.jar
c3p0-0.9.1.2.jar
catalina.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-collections-2.1.1.jar
commons-csv-20070724.jar
commons-digester.jar
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-lang-2.4.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-validator-1.3.1.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
FontBox-0.1.0-dev.jar
freemarker-2.3.8.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
iText-2.1.3.jar
iText-rtf-2.1.3.jar
jta.jar
log4j-1.2.15.jar
mail.jar
ognl-2.6.11.jar
original-xwork-2.1.2-SNAPSHOT.jar
oro-2.0.8.jar
PDFBox-0.7.3.jar
myrelease-management.jar
myservices-api.jar
myservices-impl.jar
myservices.jar
myPropertyReader.jar
struts-core-1.3.5.jar
struts2-config-browser-plugin-2.1.3-SNAPSHOT.jar
struts2-convention-plugin-2.1.3-SNAPSHOT.jar
struts2-core-2.1.3-SNAPSHOT.jar
struts2-pell-multipart-plugin-2.1.3-SNAPSHOT.jar
Das ganze hat gut funktioniert. Nun musste ich ein WebService (mit axis2) einbinden, welches jetzt services der Webapplikation benutzt, also nur code generieren und ein paar zeilen selber schreiben. + folgende jars im WEB-INF/lib
axiom-api-1.2.7.jar
axiom-impl-1.2.7.jar
axis2-adb-1.4.1.jar
axis2-jaxws-1.4.1.jar
axis2-kernel-1.4.1.jar
backport-util-concurrent-3.1.jar
commons-httpclient-3.1.jar
neethi-2.0.4.jar
woden-api-1.0M8.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.2.jar
Wenn jetzt aber das WebService aufgerufen wird gibt es folgende Exception:
SCHWERWIEGEND: Servlet.service() for servlet AxisServlet threw exception
org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:385)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.axis2.context.MessageContext.<clinit>(MessageContext.java:105)
at org.apache.axis2.context.ConfigurationContext.createMessageContext(ConfigurationContext.java:486)
at org.apache.axis2.transport.http.AxisServlet.createMessageContext(AxisServlet.java:626)
at org.apache.axis2.transport.http.AxisServlet.createMessageContext(AxisServlet.java:704)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Ich weiß das es wegen der commons-logging-1.0.4.jar im (WEB-INF/lib) und commons-logging-1.0.4.jar (im server/lib) ist, aber diese werden dort gebraucht. Entferne ich die commons-logging-1.0.4.jar im server/lib muss ich den rest auch entfernen bis zu den hibernate Klassen und damit kommt myreal.jar auch in die WEB-INF/lib, aber da findet tomcat es beim starten nicht. Umgekehrt wenn ich es im WEB-INF/lib entferne (+ hibernate-jars), wird hibernate-jars im server geladen und findeten die mapping-Klassen nicht mehr (die in der Webapplikation).
Verzwickte situation! Ich hoffe jemand weiß wie ich da rauskomme.
lg Mario