如您所知,SuppressFBWarnings批注保留在类文件中,但在运行时不需要,因此FindBugs不会成为项目的运行时依赖项。不幸的是,那些添加了注释的注释会给使用该项目作为依赖项的Gradle用户带来如下编译警告:

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

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

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

最佳答案

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

compileOnly 'com.google.code.findbugs:annotations:3.0.1'

08-28 14:15