Исключения при запуске: JAX RS 2.1 и Weblogic 12.2.1.3 - PullRequest
0 голосов
/ 29 октября 2018

Я использую cxf 3.2.1 и верблюда 2.20.2 на сервере приложений weblogic 12.2.1.3. Приложение работает, но при запуске возникает много исключений (предупреждение журнала):

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? Или как можно подавить предупреждающие сообщения?

...