我可以使用
排除*.kt
个文件
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<excludeFilterFile>spotbugs-exclude-filter.xml</excludeFilterFile>
</configuration>
</plugin>
并且在spotbugs-exclude-filter.xml
中包含:
<FindBugsFilter>
<Match>
<Source name="~.*\.kt"/>
</Match>
</FindBugsFilter>
但是,由于Spotbug在父pom中(由Java和Kotlin项目使用),我更喜欢纯maven解决方案,因此继承项目不需要该额外的xml文件。可能吗?
答案 0 :(得分:0)
SpotBugs假定代码是从Java类编译的(即使类文件可能具有正确的文件名)。
如果查看SpotBugs XML报告文件,则会看到根据SpotBugs的源文件。为了排除Kotlin类,您将必须执行以下操作,因为Kotlin编译为XxxxxxKt.class
<FindBugsFilter>
<Match>
<Source name="~.*Kt\.java"/>
</Match>
</FindBugsFilter>
答案 1 :(得分:0)
在插件的配置中,使用includeFilterFile
代替excludeFilterFile
。
然后将模式从"~.*\.kt"
更改为"~.*Kt\.java"
。