Kyl*_*yle 4 jax-rs weblogic12c jersey-2.0
Weblogic 12.2.1 内部有 Jersey 2.21.1 作为 JAX-RS 2.0 的实现,但我们想使用 Jersey 2.5.1 或最新版本的 Jersey。
解决冲突的一般方法是在配置文件中定义类以从应用程序加载类。
但是当你升级weblogic或者Jersey的时候,你要查看类冲突,修改配置,有没有什么方便的方法可以从weblogic中禁用Jersey呢?
小智 6
您需要在项目的 web-inf 库中包含 jersey 文件(您可以从 jersey 的网站获取 jersey 和依赖项 zip 文件),还将这些行添加到您的 weblogic.xml 文件中(如使用 Jersey 2. Weblogic 12.1.1 上的 x Web 服务):
<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>
Run Code Online (Sandbox Code Playgroud)
这样做将覆盖 weblogic 12.2.1 使用的 jersey 版本。
如果您使用的是 Json,您还需要获取这些 jars,如这篇文章POST to Jersey REST service getting error 415 Unsupported Media Type 中所示:
并将这些行添加到<prefer-application-packages>weblogic.xml 中的部分:
<package-name>org.codehaus.jackson.*</package-name>
<package-name>com.fasterxml.jackson.*</package-name>
Run Code Online (Sandbox Code Playgroud)
UDPATE - 还值得一提的是,weblogic 12 默认的 JSON 绑定器是 MOXy 而不是 Jersey,这给我带来了一些问题,我最终用 Jersey 替换了提供程序,这使得我的上述更改变得不必要。
| 归档时间: |
|
| 查看次数: |
7877 次 |
| 最近记录: |