问题描述:最近写了一个项目,项目中使用了@ControllerAdvice来进行异常拦截,把这个项目打成jar包后,在其它项目中引入,发现异常未被拦截,即@ControllerAdvice未生效。
原因:新项目未加载到jar包中的@ControllerAdvice,即没有扫描到该包
解决方法:在新项目的启动类中添加@ComponentScan注解,指定扫描的包的路径
//第一个为需要扫描的jar包的路径 //第二个是本项目的路径,本项目的路径必须写 @ComponentScan(basePackages = {"com.gcp.*","com.blog.*"}) @SpringBootApplication public class BlogApplication {
@Configuration未生效也是一样的原因,使用相同的解决方法即可