我希望我FindBugs的报告中未显示以下错误<静态初始化>:添加独家过滤器在FindBugs的
DM_NUMBER_CTOR:方法调用低效Number构造;使用静态valueOf而不是
问题是,这发生在groovy生成的代码文件,所以我无法控制源代码 - 这就是为什么我想排除它并将其添加到我的排除过滤器。我不想显式地添加类(因为我制作了许多工具将使用的API,我希望我的过滤器是通用的)。我不想完全从报告中删除此类错误,我真的希望仅在排除“静态初始化器”方法时才会排除此错误。任何想法?我尝试了下面的过滤器,但没有运气,也许有人有更好的主意?
<Match>
<Method name="~.*static initializer.*" />
<Bug pattern="DM_NUMBER_CTOR" />
</Match>
这里是在这种情况下的FindBugs “堆栈跟踪”:
在类net.milanaleksic.cuc.tools.sound.SoundPlayerTool 在方法net.milanaleksic.cuc.tools.sound。 SoundPlayerTool。() 调用方法新龙(长) 应该调用Long.valueOf(长),而不是 在SoundPlayerTool.groovy
为什么你对标记Groovy代码这个“时髦”,不FindBugs的工作?我知道你大概可以运行它在常规课上,但结果实际上有用吗? – 2010-05-11 17:24:38
它仍然是尽早说,但我认为,在一段时间内,你可以做好事找到findbugs。我将目标文件夹与编译的Java和Groovy文件(我使用groovyc任务),所以基本上我会发现处理Java和Groovy生成的字节码。 你可以在下一页看到过滤AspectJ编译的字节码的例子:http://findbugs.sourceforge.net/manual/filter.html#d0e2050 – 2010-05-11 20:21:58