2016-09-05 1 views
3

deaktiviert Weblogic 12.2.1 hat Jersey 2.21.1 innen als Implementierung von JAX-RS 2.0, aber wir möchten Jersey 2.5.1 oder Jersey der neuesten Version verwenden.wie man Jersey von weblogic 12.2.1

Allgemeine Möglichkeit, den Konflikt zu lösen, besteht darin, Klassen in der Konfigurationsdatei zu definieren, um Klassen aus der Anwendung zu laden.

Aber wenn Sie Weblogic oder Jersey aktualisieren, müssen Sie in den Klassenkonflikt schauen und Änderungen an der Konfiguration vornehmen, gibt es eine bequeme Möglichkeit, Jersey von weblogic zu deaktivieren?

Antwort

3

Sie müssen die Trikot-Dateien in die Web-inf-Bibliothek Ihres Projekts aufnehmen (Sie können die Trikot- und Abhängigkeiten-Zip-Datei von der Trikot-Website erhalten). Fügen Sie diese Zeilen auch Ihrer weblogic.xml-Datei hinzu (wie in diesem Post angegeben) Using Jersey 2.x web service on Weblogic 12.1.1):

<container-descriptor> 

    <prefer-application-packages> 
     <!-- jsr311 --> 
     <package-name>javax.ws.rs.*</package-name> 
     <!-- javassist --> 
     <package-name>javassist.*</package-name> 
     <!-- aop repackaged --> 
     <package-name>org.aopalliance.*</package-name> 

     <!-- jersey 2 --> 
     <package-name>jersey.repackaged.*</package-name> 
     <package-name>org.glassfish.jersey.*</package-name> 
     <package-name>com.sun.research.ws.wadl.*</package-name> 

     <!-- hk2 --> 
     <package-name>org.glassfish.hk2.*</package-name> 
     <package-name>org.jvnet.hk2.*</package-name> 
     <package-name>org.jvnet.tiger_types.*</package-name> 

    </prefer-application-packages> 

    <prefer-application-resources> 
     <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name> 
     <resource-name>META-INF/services/javax.ws.rs.ext.RuntimeDelegate</resource-name> 

     <!-- jersey --> 
     <resource-name>META-INF/services/org.glassfish.jersey.*</resource-name> 
     <resource-name>org.glassfish.jersey.*</resource-name> 
     <resource-name>jersey.repackaged.*</resource-name> 

     <!-- hk2 --> 
     <resource-name>META-INF/services/org.glassfish.hk2.*</resource-name> 
    </prefer-application-resources> 
</container-descriptor> 

Dadurch wird das Trikot Version von WebLogic 12.2.1 verwendet außer Kraft setzen.

Wenn Sie Json verwenden werden Sie auch diese Gläser erhalten erfordern wie in diesem Beitrag nicht angegeben POST to Jersey REST service getting error 415 Unsupported Media Type:

  • Jersey-media-json-jackson
  • jackson-jaxrs-json-Anbieter
  • Jackson-core
  • Jackson-databind
  • Jackson-Annotationen
  • Jackson-jaxrs-base
  • jackson-Modul-jaxb-Annotationen
  • Jersey-entity-Filterung

und diese Zeilen an den in weblogic.xml <prefer-application-packages> Abschnitt hinzufügen:

<package-name>org.codehaus.jackson.*</package-name> 
<package-name>com.fasterxml.jackson.*</package-name> 

UDPATE - Ebenfalls erwähnenswert Dass Weblogic 12 Standard-JSON-Binder ist MOXy und nicht Jersey, das hat mich einige Probleme verursacht und ich schließlich ersetzt den Anbieter mit Jersey, die meine obigen Änderungen unnötig macht.

Verwandte Themen