在build xml中包含Spotbugs目标(ant)

时间:2019-04-05 04:21:38

标签: java ant build.xml spotbugs

打扰了,我再次挣扎。因此taskdef可以正常工作,但我无法真正使用Spotbug。

<target name="bugs" depends="compile">

    <spotbugs home="${spotbugs.home}"
        output="${spotbugs.output}"
        outputFile="bugs.${spotbugs.output}"
        excludeFilter="${spotbugs.exclude}">
    <sourcePath path="."/>
    <auxClassPath path="."/>
    <fileset dir="." includes="${package}/*.class"/>
</spotbugs>

所以我想用

检查代码

ant -Dpackage = einstieg错误

,并收到“问题:创建任务或键入Spotbug失败”。我用于checkstyle的相同模式非常有效。 taskdefinition指向Spotbug和所需的类-没有任何错误。有什么建议吗?

因此,我认为Spotbug根本不存在。但是/ lib目录中存在合适的文件。

这是Taskdefinition的样子:

<!-- spotbugs settings -->
    <property name="spotbugs.home" value="C:/ant/lib"/>
    <property name="spotbugs.output" value="xml"/>
    <property name="spotbugs.exclude"
              value="C:/Users/wolfbiker/Documents/einstieg/exclude_filter.xml"/>
    <taskdef resource="edu/umd/cs/findbugs/anttask/tasks.properties"
             classpath="${spotbugs.home}/spotbugs-ant.jar"/>

1 个答案:

答案 0 :(得分:1)

我认为,在详细阅读Using the SpotBugs Ant task时,您会看到

<property name="spotbugs.home" value="C:/ant/lib"/>

不应指向复制了 spotbugs-ant.jar 的蚂蚁之家,而应指向Spotbugs安装本身-与Spotbugs ant-task不同。 因此,还必须在ant-task旁边安装Spotbug。

这也意味着您必须更改类路径

<taskdef resource="edu/umd/cs/findbugs/anttask/tasks.properties" classpath="${spotbugs.home}/spotbugs-ant.jar"/>

指向应该已复制到ant / lib目录的spotbugs-ant.jar。