编译Kotlin项目时如何屏蔽特定废弃注解警告?
解决Kotlin项目屏蔽废弃注解相关警告的问题
你之前使用的-Xsuppress-deprecated-jvm-target-warning参数仅用于抑制JVM目标版本过时的警告,和你要屏蔽的「废弃注解相关输出」不属于同一类型,因此无法达到预期效果。
要屏蔽所有与废弃注解相关的警告(比如代码中使用了被@Deprecated标记的类、方法、属性时触发的警告),需要替换为正确的编译器参数:
正确的Gradle配置
allprojects { tasks.withType<KotlinCompile>() { kotlinOptions { // 禁用所有废弃相关警告,保留其他类型编译警告 freeCompilerArgs += "-no-deprecation" } } }
补充说明
- 若你仅需抑制编译器自身废弃API/参数的警告(而非业务代码中使用废弃元素的警告),才需要使用
-Xsuppress-deprecated参数; - 上述配置会精准屏蔽所有废弃类、方法、注解的使用警告,同时保留未使用变量、类型不匹配等其他类型的编译警告,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Óscar
相关产品推荐
相关产品推荐

