Мне нужно создать менеджер плагинов, который обрабатывает Spring Bean внутри jar-файла, содержащегося в определенной внешней папке, в моем случае это externalPlugin .
Папка externalPlugin в моем классе.
Моя проблема в том, что пружина не загружает бобы, когда они находятся внутри банки.Если файл jar извлечен в папку / externalPlugin , Spring Boot правильно загружает bean-компоненты.
Существует ли определенный способ создания jar, который Spring правильно загружает в bean-компонент внутри JAR?или даже возможно ли загрузить bean во внешний Jar?
Спасибо за ваше время.
В моем приложении для весенней загрузки, для загрузки внешнего Bean, я использую аннотацию
@ComponentScan({"com.app","com.plugin"})
Чтобы узнать, загружен ли мой bean-компонент, я использую и распечатываю результат
String[] beanNames = ctx.getBeanNamesForType(AbstractPlugin.class);
внешних плагинов jar создаются следующим образом с помощью команды jar cvf
/externalPlugin/pluginA.jar
|-META-INF/
| |-MANIFEST.mf
|
|-com/
|-plugin/
|- beanA1.class
|- beanA2.class
package com.plugin
@Component
public class BeanA1 extends AbstractPlugin{
}
package com.plugin
@Component
public class BeanA2 extends AbstractPlugin{
}