gpt4 book ai didi

java - 如何制作包含 Spring Bean 的 jar,并在 SpringBoot 应用程序中使用它?

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:40 25 4
gpt4 key购买 nike

我必须创建一个插件管理器来处理特定外部文件夹中包含的 jar 内的 Spring Bean,在我的例子中它是 externalPlugin

文件夹externalPlugin位于我的类路径中。

我的问题是,当 jar 里有bean时,spring不会加载bean。如果 jar 文件被提取到 /externalPlugin 文件夹中,Spring boot 会正确加载 bean。

是否有创建 jar 的特定方法,以便 spring 在 JAR 中正确加载 bean?或者甚至可以在外部 Jar 中加载 bean 吗?

感谢您的宝贵时间。

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

并用 eclipse 专门生成 jar

关于java - 如何制作包含 Spring Bean 的 jar,并在 SpringBoot 应用程序中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55341067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com