Feign 注入失败之坑

今天碰到一个很坑的问题,feign 注入失败。

错误信息:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
12-18 15:29:57.654 ERROR [o.s.b.diagnostics.LoggingFailureAnalysisReporter] -

APPLICATION FAILED TO START


Description:

Field messageFeign in com.pance.scheduler.mdm.dataCenterTask.DataCenter required a bean of type 'com.pance.common.feign.MessageFeign' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type 'com.pance.common.feign.MessageFeign' in your configuration.

很简单的一个报错信息,

直接看Application ,发现以及包含注解 @EnableFeignClients,以及 @ComponentScan(“com.pance”),并且feign 也包含在 com.pance目录下。

查了良久,

终于在最崩溃的时候,发现了一个细节的坑,feign 时在另外的common 包中引入的,虽然@ComponentScan(“com.pance”) 指定了扫描路径包含了feign 的路径,但是feign如果不是在相同的module 下,就必须加上 自己的扫描范围,例如

@EnableFeignClients(basePackages = “com.pance”)

加上之后,问题解决。

| 12345678910 | @EnableFeignClients``(basePackages = ``"com.pance"``)``@ComponentScan``(``"com.pance"``)``@EnableScheduling``@SpringBootApplication``(exclude = {DataSourceAutoConfiguration.``class``})``public class SchedulerApplication {``public static void main(String[] args) {``/*only start one application*/``SpringApplication.run(SchedulerApplication.``class``, args);``}``} |

=====================================

发现网上说都是要配置@EnableFeignClients,以及引入jar 包,但是这个basePackage 这个值很少有说明。就写一下自己踩坑的惨痛经历。

本作品采用《CC 协议》,转载必须注明作者和本文链接
zhaozhangxiao
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!