Упаковка банок библиотеки бульдозеров в EAR

Моя структура EAR аналогична приведенной ниже.

  • My EAR
    • META-INF
    • lib
      • ..some jars...
      • бульдозер-*.jar
    • My WAR1
      • WEB-INF
        • classes
          • ...classes for which dozer mapping is required...
          • dozer-mapping.xml
      • веб.xml
    • Моя война2
    • ....

С этой настройкой я получаю исключение, что dozer не может разрешить мои классы сопоставления, определенные в My WAR1/WEB-INF/classes/

Как правильно хранить библиотеки dozer, EAR/lib или WAR/WEB-INF/lib и почему? Ценю ваш ответ на это.


person opuser1    schedule 18.09.2015    source источник


Ответы (1)


Расположение библиотек бульдозеров вроде нормальное. Возможно вы сталкивались с class isolation. Классы модуля WAR1 изолированы от классов модуля WAR2. Классы загружаются разными загрузчиками классов и не отображаются разными модулями. Обычно эта функция настраивается сервером приложений.

Из вашего вопроса неясно, какие инициализаторы модулей Dozer, но, похоже, вам нужен экземпляр dozer mapper для каждого модуля.

person A.Panzer    schedule 18.09.2015
comment
Спасибо за ваш ответ. Я использую XML-файл конфигурации spring в war1 для инициализации картографа бульдозера, и экземпляр картографа автоматически подключается в моих классах обслуживания. Также на данный момент мне не нужны функции бульдозера в war2. Я попытался упаковать банки для бульдозеров под war1/web-inf/lib, и это сработало. Однако я до сих пор не уверен, почему это не сработало, если я держал банки с бульдозером в ухе / библиотеке. - person opuser1; 20.09.2015