Проблема загрузки класса с Eclipse RAP и WebLogic 12.2.1.3

При развертывании файла войны Eclipse RAP в WebLogic 12.2.1.3 мы сталкиваемся со следующей ошибкой;

java.lang.LinkageError: нарушение ограничения загрузчика: загрузчик ранее инициировал загрузку для другого типа с именем "org/aopalliance/aop/Advice"

Проведя некоторый анализ, мы обнаружили, что проблема связана с доставкой WebLogic 12.2.1.3 вместе с org.glassfish.hk2.external.aopalliance-repackaged.jar в пределах oracle_common\modules, и это конфликтует с com.springsource.org.aopalliance_1.0.0.jar. в каталоге WEB-INF\plugins нашего файла WAR.

Мы попробовали несколько вещей, чтобы исправить это, но пока безуспешно;

Удален org.glassfish.hk2.external.aopalliance-repackaged.jar из oracle_common\modules (WebLogic развертывается, но затем отключается)

Удалите com.springsource.org.aopalliance_1.0.0.jar из файла WAR (WebLogic запускается, но не развертывает пакеты в файле WAR)

Обновлен файл weblogic.xml в файле WAR с помощью;

<container-descriptor>
  <prefer-web-inf-classes>false</prefer-web-inf-classes>
  <prefer-application-packages>
    <package-name>org.aopalliance.*</package-name>
  </prefer-application-packages>
</container-descriptor>

Скопировал com.springsource.org.aopalliance_1.0.0.jar в папку WEB-INF\lib WAR-файла с указанным выше изменением weblogic.xml.

Будем очень благодарны за любые предложения о других изменениях, которые мы могли бы попробовать.

Большое спасибо

Майк

1 ответ

Решение

Попробуйте обновить файл launch.ini в вашем файле war, задав для ext значения osgi.parentClassloader и osgi.contextClassLoaderParent:

osgi.parentClassloader=ext
osgi.contextClassLoaderParent=ext

ура

прут

Другие вопросы по тегам