2017-01-12 40 views
0

我在Weblogic 12.2.1上使用Jersey 2.22.1。受管理的服务器部署了Jax-RS v1服务。杰克逊无法正常工作,iThe非json服务按预期工作。Weblogic 12.2.1基础结构Jersey Jackson配置

错误:

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的(有一个属性设置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

此主题很有趣。它有一个很好的关系: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

回答

1

我改变了我的weblogi c.xml更喜欢package-name com.fasterxml.jackson。*,它位于上面的prefer-application-resources部分,它现在可以正常工作。以下是我的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> 
相关问题