2016-09-05 4 views
3

Weblogic 12.2.1은 JAX-RS 2.0 구현으로 내부에 Jersey 2.21.1이 있지만 Jersey 2.5.1 또는 최신 버전의 Jersey를 사용하고자합니다.weblogic에서 Jersey를 비활성화하는 방법 12.2.1

일반적으로 충돌을 해결하는 방법은 구성 파일에 클래스를 정의하여 응용 프로그램에서 클래스를로드하는 것입니다.

그러나 weblogic 또는 Jersey를 업그레이드 할 때 클래스 충돌을 조사하고 구성을 변경해야합니다. 저지를 웹 ​​로직에서 사용하지 않도록 설정하는 편리한 방법이 있습니까?

답변

3

프로젝트의 web-inf lib에 저지 파일을 포함해야하며 저지 웹 사이트에서 저지 및 종속성 zip 파일을 가져올 수 있어야하며이 줄을 weblogic.xml 파일에 추가해야합니다 (이 게시물에 표시된대로). 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> 

는 웹 로직 12.2.1에서 사용되는 저지 버전보다 우선합니다.

  • 저지 미디어 - JSON - 잭슨
  • 잭슨-jaxrs-JSON-제공
  • : 당신이 JSON을 사용하는 경우이 게시물 POST to Jersey REST service getting error 415 Unsupported Media Type에 표시된대로

    이러한 항아리를 얻기 위해 필요합니다

  • 잭슨 코어
  • 잭슨 데이터 바인딩
  • 잭슨 주석
  • 잭슨 jaxrs 계
  • 잭슨 - 모듈, JAXB 주석
  • 저지 엔티티 필터링

하고 weblogic.xml의에 <prefer-application-packages> 섹션에 다음 줄을 추가

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

UDPATE - 또한 언급 할 가치가 그 weblogic 12 기본 JSON 바인더는 저지가 아닌 MOXy이고, 이것은 나에게 몇 가지 문제를 야기했으며, 결국 공급자를 Jersey로 대체하여 위의 변경을 불필요하게 만들었습니다.