Как сделать банку с Spring Bean внутри и использовать ее в приложении SpringBoot? - PullRequest
0 голосов
/ 25 марта 2019

Мне нужно создать менеджер плагинов, который обрабатывает 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{
}

1 Ответ

0 голосов
/ 28 марта 2019

нашел то, что мне было нужно http://www.codevomit.xyz/bootlog/blog/how-to-provide-spring-boot-fat-jar

и специальная сгенерированная банка с eclispe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...