gpt4 book ai didi

java - 我可以告诉 findbugs 忽略我无法添加的类吗?

转载 作者:太空狗 更新时间:2023-10-29 22:57:41 26 4
gpt4 key购买 nike

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

这个 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 {}

这种示例在测试类中很常见,例如引用org.junit.@Test 但 JUnit jar 未包含在您要分析的内容中。

在上面的示例中,您确实需要 ReferenceOptionalClass 的结果,但为了获得它们,FindBugs 的某些部分需要查看 OptionalClass。如果它不能这样做,因为它不存在,它会报告该类丢失 [1]。当 FindBugs 找不到那个类时,它通常只是中止它正在尝试进行的特定类型的分析,并继续进行其余分析而不会出现问题。

简单的答案是,如果您对 FindBugs 提供的分析水平感到满意,那么就忽略该错误。

[1] 请注意,这甚至可能是一个传递引用,即您的代码包含类 A,它在辅助 JAR 中引用 B,然后引用 OptionalClass。

关于java - 我可以告诉 findbugs 忽略我无法添加的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com