对不起,我又挣扎了。所以 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 bugs
并收到"问题:无法创建任务或键入点虫"。我用于检查样式的相同模式非常有效。任务定义指向 spotbug 和所需的类 - 没有任何错误。有什么建议吗?
所以我认为斑点虫根本不存在。但是/lib 目录中存在合适的文件。
任务定义如下所示:
<!-- 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"/>
我认为在详细阅读使用 SpotBugs Ant 任务时,您会看到您的
<property name="spotbugs.home" value="C:/ant/lib"/>
不应该指向你复制 spotbugs-ant.jar 的 ant 家,相反,它应该指向 spotbugs 安装本身 - 这与 spotbugs ant-task 不同。因此,在蚂蚁任务旁边也必须安装斑点虫。
这也意味着您必须更改类路径
<taskdef resource="edu/umd/cs/findbugs/anttask/tasks.properties" classpath="${spotbugs.home}/spotbugs-ant.jar"/>
指向 spotbugs-ant.jar您应该已被复制到您的 ant/lib 目录中。