如何消除Quarkus RestClient注入时的VSCode误报警告?
解决VSCode中Quarkus构造函数注入Rest Client的误报警告
你遇到的是VSCode对Quarkus构造函数注入Rest Client的误报——代码功能完全正常,但IDE会弹出如下警告:
The Rest Client object should have the @Inject and @RestClient annotations to be injected as a CDI bean.microprofile-restclient(InjectAndRestClientAnnotationMissing)
你的代码示例如下:
private final CorrectionClient correctionClient; @Inject public CorrectionService(@RestClient CorrectionClient client) { this.correctionClient = client; }
下面是几种可以消除这个误报的方法:
精准添加@SuppressWarnings注解
之前没生效大概率是因为没指定完整的规则ID。这条警告对应的规则是microprofile-restclient.InjectAndRestClientAnnotationMissing,你可以把它加到构造函数或者类上:
加在构造函数上:@Inject @SuppressWarnings("microprofile-restclient.InjectAndRestClientAnnotationMissing") public CorrectionService(@RestClient CorrectionClient client) { this.correctionClient = client; }加在类上(适合多个方法/构造函数有同类警告的情况):
@SuppressWarnings("microprofile-restclient.InjectAndRestClientAnnotationMissing") public class CorrectionService { private final CorrectionClient correctionClient; @Inject public CorrectionService(@RestClient CorrectionClient client) { this.correctionClient = client; } }更新VSCode的Quarkus/MicroProfile插件
这个误报可能是插件旧版本的bug,尝试更新以下插件后重启VSCode:- Quarkus Tools for Visual Studio Code
- MicroProfile Tools for Visual Studio Code
全局/项目级禁用该规则
如果不想在代码里加注解,可以在VSCode设置里直接禁用这条规则:- 打开设置(快捷键Ctrl+,),搜索
java.settings.url,点击编辑进入settings.json - 添加如下配置:
"java.compile.settings": { "problems": { "excluded": [ { "code": "microprofile-restclient(InjectAndRestClientAnnotationMissing)" } ] } }
保存后,VSCode就不会再弹出这条警告了。
- 打开设置(快捷键Ctrl+,),搜索
内容的提问来源于stack exchange,提问作者Ookki
相关产品推荐
相关产品推荐

