IntelliJ IDEA使用注解弃用参数无警告未加删除线问题咨询
问题结论
该情况不属于异常操作导致的问题,是IntelliJ IDEA 2018.3版本的原生功能限制。
原因说明
- 2018.3版本的Java代码弃用检查逻辑,仅覆盖了类、接口、方法、成员变量这类常规Java元素,没有将注解属性纳入扫描范围。你用到的Swagger
@Api注解的description属性就属于注解属性分类,所以即便该属性标记了@Deprecated,IDE也不会触发划删除线或者告警提示。 - 你可以自行验证检查配置:打开
Settings > Editor > Inspections > Java > Deprecated API usage,可以看到该版本的配置项中没有「Report deprecated annotation properties」相关开关,该支持是从2019.1版本才正式加入IDE的默认检查体系的。 - 你提到的其他场景(弃用方法、类、字段)检查正常,也刚好对应了该版本的扫描覆盖范围。
解决建议
- 若暂时无法升级IDE版本,可以引入第三方静态代码检查插件补充这类场景的校验,这类插件的弃用检查规则通常不受IDE原生版本限制。
- 若条件允许,升级IntelliJ IDEA到2019.1及以上版本即可默认支持注解弃用属性的告警提示。
内容的提问来源于stack exchange,提问作者Mikalai
相关产品推荐
相关产品推荐

