Azi*_*uts 7 java guice guice-servlet weblogic12c jersey-1.0
我必须 在Weblogic 12c服务器(12.2.1)上使用两者(奇怪的是......)" prefer-web-inf-classes "和" web- to -application-packages"的weblogic.xml属性
它是基于Jersey 1.9的REST应用程序.*(Jersey 1.x JAX-RS RI)和Guice.
1.为什么要使用:prefer-web-inf-classes
如果你有多个WAR,你必须在war/lib的级别放置guice-jersey/guice的库,否则你会得到Multibindings Error.
它必须表明prefer-web-inf-classes为true. 这种方式正常!我试图以相同的方式使用prefer-application-packages和package(com.sun.jersey.guice.spi.container.servlet /com.google.inject.servlet等等),但没办法.
注意:无法在EAR级别排除此库.
2.为什么要使用:prefer-application-packages
要在Weblogic 12c(12.2.1)上使用Jersey 1.x JAX-RS RI,所以我必须指出以下包(Weblogic使用Jersey 2的其他方式,以及不同版本的Jackson库等)
如果以这种方式表示,它在Jersey 1.X上完美运行..我已分别探讨了两场战争,并且工作得很好......但是,请记住我的朋友我有两场战争......所以....
摘要
我不能同时使用这两个属性(在weblogic.xml上使用这两个属性部署错误..),但它需要:
问题:如何将两者结合使用其中之一?
毕竟
prefer-web-inf-classes用于true.如果您使用它,则不需要使用prefer-application-packages....但请确保您在 war /ear 级别拥有正确的库。
问题是:
该项目与 Jersey 2 存在依赖关系(基于Jersey 2.X 的Swaggerswagger-jersey2-jaxrs ...),因此通过 Swagger 依赖项 ( ),Jersey 2 库被打包在 Ear/war 上...因此prefer-web-inf-classes没有任何效果!
删除依赖关系后一切都解决了!
在同一级别(类路径或ear lib,或war lib)不应该存在同一库的不同版本。
| 归档时间: |
|
| 查看次数: |
9747 次 |
| 最近记录: |