JAX-RS 2: множественная версия API Jaxrs в пути к классу и развертывании приложения завершилась с ошибкой приведения класса - PullRequest
0 голосов
/ 26 ноября 2018

Любая помощь будет высоко ценится.Я работаю над веб-сервисом JAX-RS-2, и мы используем сервер weblogic 12c.На сервере уже есть 'jersey-core-1.18.jar' в его classpath, и я не могу удалить его, потому что он используется некоторыми другими приложениями.Теперь, когда я использую JAX-RS 2 jars, я получаю исключение приведения класса, как показано ниже: java.lang.ClassCastException: Невозможно привести com.sun.jersey.core.impl.provider.entity.StringProvider к javax.ws.rs.ext.MessageBodyReader.Я знаю, что com.sun.jersey.core.impl.provider.entity.StringProvider происходит от 'jersey-core-1.18.jar'.У меня также есть weblogic.xml, как показано ниже.Даже после этого weblogic загружает StringProvider и выдает ошибку.Как я могу остановить загрузку этого класса в weblogic?Любая помощь будет очень полезна, поскольку я застрял с этим в течение последних двух дней.

<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
    <container-descriptor>
        <prefer-web-inf-classes>false</prefer-web-inf-classes>
        <prefer-application-packages>
        <package-name>com.sun.research.ws.wadl.*</package-name>
        <package-name>javax.ws.rs.*</package-name>
        <package-name>org.glassfish.*</package-name>
        <package-name>org.jvnet.hk2.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
</weblogic-web-app> 
...