Spotbug是否有可能从纯Maven配置中跳过Kotlin文件?

时间:2019-03-08 09:41:16

标签: maven kotlin findbugs spotbugs

我可以使用

排除*.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文件。可能吗?

2 个答案:

答案 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"