一、BUG 复现
背景:通过 feign 的最佳实践,将 feign 单独提取成一个微服务,接着在需要远程调用的微服务中引入 feign 模块,并在启动类通过 @EnableFeignClients 声明指定的 Feign 客户端.
出现问题:feign 这个模块已经使用过很多次了,之前一直都没问题,直到有一次在 @EnableFeignClients 中多指定了一个客户端,接着但凡引入了 feign 模块的其他微服务在编译期间出现以下错误.
二、解决问题
删 target 重运行、清理 IDEA 缓存、Maven clean ...... 这些方法都试过,没用.
直到有一次,我重新给 feign 这个模块打 jar 包,发现竟然可以了!
实际上这就像我们平时引用的一些例如数据库驱动,都是打成jar包,然后引入进来的,当我在编译引入 feign 模块的微服务时,因为找不到 feign 这个 jar 包,因此出现的报错~
但是我也没动过 jar 包呀,因此猜测可能是因为 @EnableFeignClients 这个注解底层修改了 jar 包的结构,导致引入失败.