最近在工作中遇到一个问题,引进一个外部jar包,但在项目启动是报下面错误信息:
报错信息中已经很明确说了,是因为spring自动注入时找不到对应的类而报错,这就牵涉到了spring的包扫描问题了,找到启动类一看,发现我写的扫描包路径是这样的:com.AAA.erp,而我新引进的jar包里的类是在com.AAA.crm下的,因此无法被扫描到。
这种情况改一下包扫描路径就行,可以改为扫描com.AAA 但这样会扩大扫描的范围,增加包冲突的几率,一般不推荐这种方法;还可以让spring扫描多个包路径:@SpringBootApplication(scanBasePackages = {“com.AAA.erp”,“com.AAA.crm.XXX”})
这样就能自定义扫描需要的包;
另外需要注意的是一般引进的jar包中有需要注入spring容器的类才会遇到这样的问题,如果单单是引进一个工具类则不需要指定包扫描路径。