2017-08-16 5 views
0

Ich versuche, eine GWT-Anwendung bereitzustellen, die über CMIS-Connector zu Websphere 8.5.5 verfügt. Ich hatte keine Probleme beim Ausführen im Classic Dev Mode (auf Jetty) oder auf einem Tomcat Server - beide mit Oracle 7 JDK.Fehlende Laufzeitbibliotheken Websphere

Während des Einsatzes auf Websphere (nutzt IBM JDK) ich in diesem Lauf:

com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0} 
           java.lang.VerifyError 
     at com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:224) 
     at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:61) 
     at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:129) 
     at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:81) 
     at com.sun.xml.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:152) 
     at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:89) 
     at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:431) 
     at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:288) 
     at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1111) 
     at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154) 
     at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:121) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 
     at java.lang.reflect.Method.invoke(Method.java:508) 
     at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211) 
     at javax.xml.bind.ContextFinder.find(ContextFinder.java:372) 
     at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574) 
     at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522) 
     at my.package.core.server.xml.impl.XmlDataBindingServiceJAXBImpl.getJaxbContext(XmlDataBindingServiceJAXBImpl.java:245) 
     at my.package.core.server.xml.impl.XmlDataBindingServiceJAXBImpl$1.makeObject(XmlDataBindingServiceJAXBImpl.java:72) 
     at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220) 
     at my.package.core.server.xml.impl.XmlDataBindingServiceJAXBImpl.parse(XmlDataBindingServiceJAXBImpl.java:158) 
     at my.package.core.server.xml.impl.XmlDataBindingServiceJAXBImpl.parse(XmlDataBindingServiceJAXBImpl.java:128) 
     at my.package.core.server.license.LicenseProvider.readFromXml(LicenseProvider.java:155) 
     at my.package.core.server.license.LicenseProvider.get(LicenseProvider.java:123) 
     at my.package.core.server.license.LicenseProvider.get(LicenseProvider.java:50) 
     at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) 
     at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72) 
     at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61) 
     at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62) 
     at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016) 
     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) 
     at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012) 
     at my.package.core.server.services.i18n.I18NConfigurationServiceImpl.getLanguages(I18NConfigurationServiceImpl.java:53) 
     at my.package.core.server.schema.SchemaLoaderImpl.scanPackage(SchemaLoaderImpl.java:150) 
     at my.package.core.server.schema.SchemaLoaderImpl.loadSchema(SchemaLoaderImpl.java:204) 
     at my.package.core.server.schema.SchemaLoaderImpl.loadSchema(SchemaLoaderImpl.java:195) 
     at my.package.core.server.schema.CustomSchemaLoaderImpl.loadSchema(CustomSchemaLoaderImpl.java:71) 
     at my.package.core.server.services.SchemaServiceImpl.getSchema(SchemaServiceImpl.java:144) 
     at my.package.core.server.SchemaDBInitialize.start(SchemaDBInitialize.java:91) 
     at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:70) 
     at my.package.core.server.LsServer.start(LsServer.java:161) 
     at my.package.core.server.AppInitializer.contextInitialized(AppInitializer.java:210) 

Es ist nicht die komplette Stacktrace ist - ich eingeschlossen nur den Teil, wo das websphere Zeug hält. Diese Zeile my.package.core.server.xml.impl.XmlDataBindingServiceJAXBImpl.getJaxbContext(XmlDataBindingServiceJAXBImpl.java:245) ruft einfach den JAXBContext von javax.xml.bind auf. Dies geht den ganzen Weg bis com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl, die von jaxb-impl Abhängigkeit kommt, die eine vorübergehende Abhängigkeit zu chemistry-opencmis-client-impl ist.

Dies sind die Abhängigkeitserklärungen aus meiner POM-Datei:

<dependency> 
      <groupId>org.apache.chemistry.opencmis</groupId> 
      <artifactId>chemistry-opencmis-client-impl</artifactId> 
      <version>0.8.0</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>chemistry-opencmis-client-bindings</artifactId> 
        <groupId>org.apache.chemistry.opencmis</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.chemistry.opencmis</groupId> 
      <artifactId>chemistry-opencmis-client-bindings-websphere</artifactId> 
      <version>0.8.0</version> 
     </dependency> 

Ich habe versucht das Projekt mit dem IBM JDK zu kompilieren.

Ich denke, ich vermisse wahrscheinlich einige Bibliotheken zur Laufzeit, aber ich bin mir nicht sicher, welche und sicherlich warum (wie ich bereits erwähnt habe ich dieses Problem nicht bei der Bereitstellung auf Tomcat). Ich würde mich über jede Hilfe oder jeden Hinweis freuen, weil ich mich lange mit diesem Problem herumgeschlagen habe.

+1

Haben Sie die neueste OpenCMIS-Version ausprobiert? OpenCMIS 0.8.0 wurde vor 5 Jahren veröffentlicht. Seitdem hat sich viel verändert, einschließlich der Abhängigkeiten. –

+0

Es scheint inkompatibel mit axis2 1.6.2 zu sein, das von jemand anderem zum Projekt hinzugefügt wurde, aber es kann einfacher sein, axis2 zu aktualisieren. Werde es versuchen. – vasigorc

Antwort

0

Der Vorschlag von @Florian Müller arbeitete zusammen mit (wie in den Kommentaren erwähnt) Upgrade von Axis2 auf 1.7.5. Wir hatten dann viele VerifyErrors während der Bereitstellung für in Konflikt stehende Jaxb-Bibliotheken. Alle xml-Parsing-Abhängigkeiten entfernen (in den angegebenen Bereich für das WebSphere-Profil einfügen) - In unserem Fall waren dies geronimo-stax-api, xercesImpl, xml-apis, xml-beans, Aktivierung - schließlich wurde das Problem behoben.

Verwandte Themen