由idea springcloud項目,@FeignClient 注入時報紅的問題而找到的bug


這兩天裝了新版的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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM