Как загрузить компоненты spring, которые находятся в файле jar, в папку библиотеки проектов

#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 какова основная причина этого исключения? Вставьте всю трассировку стека.