NoClassDefFoundError org/jaxen/JaxenException в Jboss EAP6

Я развертываю свой код в папке /lib уха Jboss EAP6, он вызывает org.jdom.XPath.newInstance(), который вызывает org.jdom.JaxenXPath, который вызывает пакет org.jaxen.

У меня есть Jaxen JAR в моих основных модулях Jboss в jboss\modules\system\layers\base\org\jaxen\main\jaxen-1.1.3.redhat-4.jar

Но тем не менее, я получаю NoClassDefFoundError для org/jaxen/JaxenException (и, я думаю, для всего пакета). Если я скопирую этот jaxen JAR в папку /lib моего уха, ошибка исчезнет, ​​поэтому я предполагаю, что это проблема с загрузчиком классов Jboss, но раньше я использовал пакеты модулей Jboss, и этого никогда не происходило. Что здесь происходит?

PS: Эта тема не помогает.


person pHneutre    schedule 31.05.2016    source источник


Ответы (1)


Модуль Jaxen Jboss является частным (см. module.xml в той же папке, что и JAR). Мне пришлось добавить следующую строку в манифест вызывающего JAR:

Dependencies: org.jaxen 
person pHneutre    schedule 31.05.2016
comment
... и, поскольку он является частным, вы должны быть готовы к тому, что он полностью исчезнет - даже после незначительного обновления. Если ваше приложение использует эти классы, вы должны либо развернуть их в своем приложении, либо добавить в свой собственный модуль. - person Steve C; 01.06.2016