我创建了一个包含Spring组件的jar,以包含在多个项目中(core.jar)。
我创建了一个新的Spring项目,将@ComponentScan添加到正确的包中,但它不知道jar中的组件。
如何在包含的JAR中创建Spring的@ComponentScan搜索组件?
答案 0 :(得分:14)
为其提供适当的包名称以在JAR中扫描。
@ComponentScan(basePackages = {"com.example.from.jar"})
答案 1 :(得分:2)
我在Spring启动和@ComponentScan方面遇到了类似的问题,这个文档帮助我解决了这个问题:http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-structuring-your-code.html。
关键是我的@SpringBootApplication
类位于@ComponentScan
的一个basePackages的根包中。在我将其移动到子包之后,Spring能够识别所有@ComponentScan
s。