Findbugs报道:
findbugs:
[findbugs] Executing findbugs from ant task
[findbugs] Running FindBugs...
[findbugs] The following classes needed for analysis were missing:
[findbugs] com.company.OptionalClass
[findbugs] Warnings generated: 11
[findbugs] Missing classes: 2
[findbugs] Calculating exit code...
[findbugs] Setting 'missing class' flag (2)
[findbugs] Setting 'bugs found' flag (1)
[findbugs] Exit code set to: 3
[findbugs] Java Result: 3
[findbugs] Classes needed for analysis were missing
[findbugs] Output saved to findbugs.xml
BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)
这个OptionalClass是从第三方jar引用的,我没有源代码,我不想进行findbugs分析.它指的是我在类路径中或其他任何地方没有的类.在某些情况下,当我们的第三方jar以某种方式配置时,可能会使用此类.
有没有办法告诉findbugs忽略这个类?
请注意,它会完成分析并生成findbugs.xml报告,因此这是一个小问题.
出现此消息是因为您正在引用该类的二进制类中的某个位置.这并不一定意味着FindBugs试图分析com.company.OptionalClass报告它; 相反,FindBugs更有可能在分析它以获取有关引用它的类的更多信息.
考虑一下您希望分析的一些源代码:
package my.actual.codebase;
import com.some.third.party.stuff.OptionalClass;
class ReferencesOptionalClass extends OptionalClass {}
Run Code Online (Sandbox Code Playgroud)
这种示例在测试类中很常见,例如,org.junit.@Test但是JUnit jar不包含在您想要分析的内容中.
在上面的示例中,您确实需要结果ReferenceOptionalClass,但为了获得它们,FindBugs的某些部分需要查看OptionalClass.如果它不能那样做,因为它不存在,它会报告该类缺失[1].当FindBugs找不到该类时,它通常只是中止它试图进行的特定类型的分析,并继续进行其余的分析而没有问题.
简单的答案是,如果您对FindBugs给您的分析水平感到满意,那么只需忽略该错误.
[1]请注意,这甚至可能是传递引用,即您的代码包含A类,它在辅助JAR中引用B,然后引用OptionalClass.
| 归档时间: |
|
| 查看次数: |
11863 次 |
| 最近记录: |