如何制作里面有Spring Bean的罐子,并在SpringBoot应用程序中使用它



我必须创建一个插件管理器来处理jar中包含的Spring Bean,在我的情况下是外部插件

文件夹外部插件在我的类路径中。

我的问题是,当罐子里有豆子时,春天不会装载豆子。如果 jar 文件是在 /externalPlugin 文件夹中解压的,Spring 引导会正确加载 bean。

有没有一种特定的方法来创建 jar,弹簧在 JAR 中正确加载豆子?甚至是否可以在外部 Jar 中加载豆子?

谢谢你的时间。

在我的 Spring 启动应用程序中,为了加载外部 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{
}

找到了我需要的东西http://www.codevomit.xyz/bootlog/blog/how-to-provide-spring-boot-fat-jar

和特制的罐子与埃克利斯佩

相关内容

最新更新