2017-01-12 2 views
0

Ich benutze Jersey 2.22.1 auf Weblogic 12.2.1. Auf dem verwalteten Server wird ein Jax-RS v1-Dienst bereitgestellt. Jackson funktioniert nicht richtig und iDie Nicht-Json-Dienste funktionieren wie erwartet.Weblogic 12.2.1 Infrastruktur Jersey Jackson Konfiguration

den Fehler:

WARNING: The following warnings have been detected: WARNING: Contract interface javax.ws.rs.ext.MessageBodyReader can not be registered for component class com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider: Contract not assignable to component. 

pom.xml (es ist eine Eigenschaft Einstellung jersey.version 2.22.1):

<dependency> 
     <groupId>org.glassfish.jersey.containers</groupId> 
     <artifactId>jersey-container-servlet</artifactId> 
     <version>${jersey.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.glassfish.jersey.ext</groupId> 
     <artifactId>jersey-spring3</artifactId> 
     <version>${jersey.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-core</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-web</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-beans</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-context</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-json-jackson</artifactId> 
     <version>${jersey.version}</version> 

weblogic.xml:

<wls:container-descriptor> 
    <wls:prefer-application-packages> 
     <!-- jsr311 --> 
     <wls:package-name>javax.ws.rs.*</wls:package-name> 
     <!-- javassist --> 
     <wls:package-name>javassist.*</wls:package-name> 
     <!-- aop repackaged --> 
     <wls:package-name>org.aopalliance.*</wls:package-name> 
     <!-- jersey 2 --> 
     <wls:package-name>jersey.repackaged.*</wls:package-name> 
     <wls:package-name>org.glassfish.jersey.*</wls:package-name> 
     <wls:package-name>com.sun.research.ws.wadl.*</wls:package-name> 
     <!-- hk2 --> 
     <wls:package-name>org.glassfish.hk2.*</wls:package-name> 
     <wls:package-name>org.jvnet.hk2.*</wls:package-name> 
     <wls:package-name>org.jvnet.tiger_types.*</wls:package-name> 
    </wls:prefer-application-packages> 
    <wls:prefer-application-resources> 
     <wls:resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</wls:resource-name> 
     <wls:resource-name>META-INF/services/javax.ws.rs.ext.RuntimeDelegate</wls:resource-name> 
     <!-- jersey --> 
     <wls:resource-name>META-INF/services/org.glassfish.jersey.*</wls:resource-name> 
     <wls:resource-name>org.glassfish.jersey.*</wls:resource-name> 
     <wls:resource-name>jersey.repackaged.*</wls:resource-name> 
     <!-- hk2 --> 
     <wls:resource-name>META-INF/services/org.glassfish.hk2.*</wls:resource-name> 


     <wls:resource-name>org.codehaus.jackson.*</wls:resource-name> 
     <wls:resource-name>com.fasterxml.jackson.*</wls:resource-name> 
    </wls:prefer-application-resources> 
</wls:container-descriptor> 
+0

Dieser Thread ist interessant. Es hat eine gute Beziehung zu: https://stackoverflow.com/questions/45652675/weblogic-12-2-1-2-how-to-tune-the-object-serializer-to-use-jackson-2-and -stran/45654884 # 45654884 – 99Sono

Antwort

1

Ich habe meine Weblogi geändert c.xml, um den Paketnamen com.fasterxml.jackson. * zu bevorzugen, der zuvor im Abschnitt "prefer-application-resources" enthalten war und nun korrekt funktioniert. Hier ist ein Ausschnitt aus meiner weblogic.xml:

<wls:container-descriptor> 
    <wls:prefer-application-packages> 
     <!-- jsr311 --> 
     <wls:package-name>javax.ws.rs.*</wls:package-name> 
     <!-- javassist --> 
     <wls:package-name>javassist.*</wls:package-name> 
     <!-- aop repackaged --> 
     <wls:package-name>org.aopalliance.*</wls:package-name> 
     <!-- jersey 2 --> 
     <wls:package-name>jersey.repackaged.*</wls:package-name> 
     <wls:package-name>org.glassfish.jersey.*</wls:package-name> 
     <wls:package-name>com.sun.research.ws.wadl.*</wls:package-name> 
     <!-- hk2 --> 
     <wls:package-name>org.glassfish.hk2.*</wls:package-name> 
     <wls:package-name>org.jvnet.hk2.*</wls:package-name> 
     <wls:package-name>org.jvnet.tiger_types.*</wls:package-name> 
     <!--jackson--> 
     <wls:package-name>com.fasterxml.jackson.*</wls:package-name> 
    </wls:prefer-application-packages> 
    <wls:prefer-application-resources> 
     <wls:resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</wls:resource-name> 
     <wls:resource-name>META-INF/services/javax.ws.rs.ext.RuntimeDelegate</wls:resource-name> 
     <!-- jersey --> 
     <wls:resource-name>META-INF/services/org.glassfish.jersey.*</wls:resource-name> 
     <wls:resource-name>org.glassfish.jersey.*</wls:resource-name> 
     <wls:resource-name>jersey.repackaged.*</wls:resource-name> 
     <!-- hk2 --> 
     <wls:resource-name>META-INF/services/org.glassfish.hk2.*</wls:resource-name> 


    </wls:prefer-application-resources> 
</wls:container-descriptor> 
Verwandte Themen