当我将 @ComponentScan 添加到我的主类并通过外部 jar 中的包传递“basePackages”时,它不再扫描我项目的包。我可以手动添加这些包,例如:
@ComponentScan(basePackages={"com.jar.classes","com.project.classes"})
但这意味着我必须手动保持更新。有没有办法说:
- 像默认情况一样扫描所有包
- 同时添加 jar 包进行扫描
最佳答案
您可以创建一个简单的配置类,该类位于项目的包中,默认组件扫描会拾取该包,其中包括针对外部组件的特定组件扫描。
即
@Configuration
@ComponentScan(basePackages = {"com.jar.classes"})
public class ExternalComponentConfig {
}
或者实际上可以在您的基本配置类中包含 2 个组件扫描,例如:
@ComponentScan
@ComponentScan(basePackages={"com.jar.classes"})
但我并没有 100% 致力于该工作,而我 100% 致力于第一个解决方案。
关于java - 如何在 Spring Boot 中使用 @ComponentScan 从 jar 和通配符加载类,其工作方式类似于默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45595605/