apache-camel - 启动异常:JAX RS 2.1 和 Weblogic 12.2.1.3
问题描述
我在 weblogic 12.2.1.3 应用服务器上使用 cxf 3.2.1 和 camel 2.20.2。该应用程序正在运行,但在启动时会引发很多异常(日志警告):
WARNING: HK2 service reification failed for
[org.apache.cxf.jaxrs.spring.SpringViewResolverProvider] with an exception:
MultiException stack 1 of 2
java.lang.NoSuchMethodException: Could not find a suitable constructor in org.apache.cxf.jaxrs.spring.SpringViewResolverProvider class.
at org.glassfish.jersey.internal.inject.JerseyClassAnalyzer.getConstructor(JerseyClassAnalyzer.java:192)
MultiException stack 2 of 2
java.lang.IllegalArgumentException: Errors were discovered while reifying SystemDescriptor(
implementation=org.apache.cxf.jaxrs.spring.SpringViewResolverProvider
我认为这是因为 cxf 对 jax rs 2.1 的依赖性,而 weblogic 使用 jax rs 2.0。
部署中的库(300+)的提取:
cxf-core-3.2.1.jar
cxf-rt-bindings-soap-3.2.1.jar
cxf-rt-bindings-xml-3.2.1.jar
cxf-rt-databinding-jaxb-3.2.1.jar
cxf-rt-frontend-jaxrs-3.2.1.jar
cxf-rt-frontend-jaxws-3.2.1.jar
cxf-rt-frontend-simple-3.2.1.jar
cxf-rt-rs-client-3.2.1.jar
cxf-rt-security-3.2.1.jar
cxf-rt-security-saml-3.2.1.jar
cxf-rt-transports-http-3.2.1.jar
cxf-rt-ws-addr-3.2.1.jar
cxf-rt-ws-policy-3.2.1.jar
cxf-rt-ws-security-3.2.1.jar
cxf-rt-wsdl-3.2.1.jar
javax.servlet-api-3.1.0.jar
javax.ws.rs-api-2.1.jar
weblogic-application.xml
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application
xmlns:wls="http://www.bea.com/ns/weblogic/weblogic-application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://www.bea.com/ns/weblogic/weblogic-application http://www.bea.com/ns/weblogic/weblogic-application/1.0/weblogic-application.xsd">
<wls:application-param>
<wls:param-name>webapp.encoding.default</wls:param-name>
<wls:param-value>UTF-8</wls:param-value>
</wls:application-param>
<wls:prefer-application-packages>
<wls:package-name>javax.wsdl.*</wls:package-name>
<wls:package-name>antlr.*</wls:package-name>
<wls:package-name>javax.faces.*</wls:package-name>
<wls:package-name>com.sun.mail.*</wls:package-name>
<wls:package-name>javax.mail.*</wls:package-name>
</wls:prefer-application-packages>
</wls:weblogic-application>
如何让 jax rs 2.1 在 weblogic 12.2.1.3 上工作?或者如何抑制警告信息?
解决方案
推荐阅读
- python-3.x - 将整数分配给数据框字段`OverflowError: Python int too large to convert to C unsigned long`
- git - 当我从 dockerfile 执行 git clone 时,我怎么知道我在哪个 git 分支上
- c# - 设置父按钮禁用?
- http - Flutter http.post 从不返回响应
- android - AndroidX数据绑定生成错误
- .net-core - 在 dotnet core 2.1 中编译后的 appsettings 在哪里
- c# - 运算符“||” 不能应用于“object”和“bool”类型的操作数
- regex - 如何将 grep 与文件中的正则表达式和模式一起使用?
- java - Java设置所有小数点的双精度值并且只得到小数点后2位
- c# - EF6 添加迁移失败 - 拒绝访问路径“C\WINDOWS\SYSTEM32\MyContext.edmx”