Обновление загрузчика классов веб-логики - PullRequest
0 голосов
/ 27 апреля 2018

Я получаю следующее сообщение об ошибке при переопределении джерси weblogic (1.18) с помощью моего джерси приложения (1.19) в weblogic 12.1.3

Error is: "weblogic.application.ModuleException: java.lang.ClassCastException: Cannot cast com.sun.jersey.server.impl.container.WebApplicationProviderImpl to com.sun.jersey.spi.container.WebApplicationProvider"

У меня есть следующие файлы в файле войны моего проекта:

  1. джерси-пачка 1.19.jar
  2. джерси-клиент-1.19.jar
  3. джерси-ядро-1.19.jar
  4. джерси-JSON-1.19.jar
  5. джерси-сервер 1.19.jar
  6. джерси-сервлет-1.19.jar

Это мультипроект с несколькими файлами weblogic.xml, и они выглядят так, как описано в документации для военных файлов (https://docs.oracle.com/cd/E24329_01/web.1211/e24983/version.htm#RESTF201):

<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd"
              xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"><session-descriptor>...</session-descriptor><container-descriptor>
    <prefer-application-packages>

        <!-- jersey-bundle-*.jar -->
        <package-name>com.sun.jersey.*</package-name>
        <package-name>com.sun.jersey.spi.*</package-name>
        <package-name>com.sun.jersey.spi.container*</package-name>
        <package-name>com.sun.research.ws.wadl.*</package-name>
        <package-name>com.sun.ws.rs.ext.*</package-name>
        <package-name>jersey.repackaged.org.objectweb.*</package-name>

        <!-- Jackson-*.jar -->
        <package-name>org.codehaus.jackson.*</package-name>

        <!-- jettison-*.jar -->
        <package-name>org.codehaus.jettison.*</package-name>

        <!-- jsr311*.jar -->
        <package-name>javax.ws.rs.*</package-name>

        <!-- asm.jar -->
        <package-name>org.objectweb.asm.*</package-name>

    </prefer-application-packages>
</container-descriptor></weblogic-web-app>

Я также попытался добавить

<prefer-web-inf-classes>false</prefer-web-inf-classes>

но не работает (то же исключение) ...

Есть мысли по этому поводу?

...