ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

由idea springcloud项目,@FeignClient 注入时报红的问题而找到的bug

2021-08-21 17:04:38  阅读:321  来源: 互联网

标签:FeignClient bug springcloud class IDEA idea 版本 public


这两天装了新版的idea(版本为2021.2)

IntelliJ IDEA 2021.2 (Ultimate Edition)
Build #IU-212.4746.92

导入公司项目,发现有地方报红

这是我的 feignClient接口

1 @FeignClient(value = "order-server", qualifiers = "order-server", fallback = OrderInnerFallbackService.class)
2 public interface OrderInnerService {
3 }

这是我使用接口的controller部分代码

public class XXXController {
    @Qualifier("order-server")
    @Autowired
    OrderInnerService orderInnerService;
}

我的springboot启动类:

@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
@EnableCircuitBreaker
@EntityScan("xxxxxxx")
@EnableJpaRepositories(basePackages ={"xxxxxxx"})
public class XXXApplication {

    public static void main(String[] args) {
        SpringApplication.run(XXXApplication.class, args);
    }

}

我的程序打包和运行没有任何问题,就是idea中一直报红

我在网上查了各种解决办法,基本上是  把idea中关于注入的检查关掉

后来我又去idea官网的bug里面找了找,发现在2021.1EAP版本中是有这个bug的

bug集合:

https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+2021.1+EAP+%28211.4961.33+build%29+Release+Notes

具体bug:

https://youtrack.jetbrains.com/issue/IDEA-233806

但是这个bug被标注为已解决,

这个人和我碰到的问题几乎一样,然后他列出了自己的系统参数,但是没有列出自己使用的springcloud的版本

我的springcloud版本是:

Hoxton.SR11

通过查阅

@FeignClient

的源代码,可知在此版本中, qualifiers[]数组代替了 qualifier ,而qualifier被标记为 @Deprecated

so 问题知道了

测试:

我把上面的feignclient中的 qualifiers 改为了 qualifier 发现不报红了.问题解决

所以,最终得出结论:这是一个idea的一个bug,你不管他也可以,你关掉代码检查也可以.

我也向idea官方提了一个issue:

https://youtrack.jetbrains.com/issue/IDEA-276526

希望官方可以解决.

借用stackoverflow上的一句话来结尾:

Always remember...

Man is always greater than machine.

标签:FeignClient,bug,springcloud,class,IDEA,idea,版本,public
来源: https://www.cnblogs.com/xiaopang132/p/15169952.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有