Проблема загрузки класса с 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
ура
прут