#spring
#spring
Вопрос:
Как я могу загрузить компоненты spring, которые находятся в файле jar, скажем, например. sample.jar со всеми компонентами, объявленными в этом jar с sample-applicationContext.xml ?
Теперь я использую некоторые компоненты из этого jar в своем проекте, поэтому, когда я развертываю свой ear-файл, это sample.jar находится в папке lib. Теперь, когда я развертываю этот проект на сервере (jboss -5), он не вводит компонент, на который я ссылался в моем основном проекте.
у нас нет никакого веб-приложения в этом ear, поэтому способ загрузки компонентов использует ClassPathXmlApplicationContext. Может кто-нибудь привести мне пример того, как загрузить эти компоненты из sample.jar сначала (папка lib), а затем загрузить те, которые находятся в проекте, поэтому, когда spring создает компоненты в основном проекте, у него будут компоненты из sample.jar и внедрил бы их.
Спасибо
Ответ №1:
Компоненты просматриваются по пути к классу, поэтому, если они снабжены комментариями и у вас есть надлежащее сканирование компонентов, они должны быть обнаружены.
Если они не аннотированы, а только перечислены в sample-applicationContext.xml
, то вы можете <import resource="classpath:sample-applicationContext.xml" />
Комментарии:
1. Я попробовал эти настройки, и я все еще получаю исключение BeanCreationException. В чем еще может быть проблема? Потому что, если я вижу, что в моей jar есть sample-applicationContext.xml и вся структура каталогов верна. Также, когда я просматриваю журнал сервера, я вижу, что Spring пытается загрузить компоненты из sample-applicationContext.xml и затем это вызывает исключение BeanCreationException
2. @user509755 какова основная причина этого исключения? Вставьте всю трассировку стека.