如何从已发布的jar-s中删除SuppressFBWarnings注释?

dde*_*any 6 findbugs gradle

您可能知道,SuppressFBWarnings注释保留在类文件中,但在运行时不需要,因此FindBugs不会成为项目的运行时依赖项.不幸的是,对于使用该项目作为依赖项的Gradle用户,那些重新注释的注释会导致像这样的编译警告:

warning: Cannot find annotation method 'value()' in type
'SuppressFBWarnings': class file for
edu.umd.cs.findbugs.annotations.SuppressFBWarnings not found
Run Code Online (Sandbox Code Playgroud)

请注意,Maven用户不会收到任何警告(使用默认的javac配置).但当然我不能忽视Gradle用户.

所以我似乎必须以某种方式从发布版本中删除这些注释.但我找不到任何现有的解决方案,这很奇怪.其他人如何处理这个问题?

小智 4

使用 Gradle,您可以通过以下方式消除已发布的 Jars 中的此类警告:

compileOnly 'com.google.code.findbugs:annotations:3.0.1'
Run Code Online (Sandbox Code Playgroud)