#java #ant #build.xml #spotbugs
#java #ant #build.xml #spotbugs
Вопрос:
извините, я снова борюсь. Итак, taskdef работает нормально, но я не могу работать с spotbugs.
<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
и получите «Проблема: не удалось создать задачу или ввести spotbugs». Тот же шаблон, который я использую для checkstyle, работает отлично. Определение задачи указывает на spotbugs и необходимый класс — без каких-либо ошибок. Есть предложения?
Поэтому я думаю, что точка для spotbugs просто не существует. Но в каталоге / 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"/>
Комментарии:
1. Большинство разработчиков в настоящее время используют maven или gradle, вы привязаны к ant?
2. Вы прочитали и выполнили: spotbugs.readthedocs.io/en/stable/ant.html
3. эй, да, итак, мой профессор хочет, чтобы мы использовали все задачи ant. уже прочитал руководство, но, возможно, еще несколько раз, чтобы все понять.. Спасибо
Ответ №1:
Я думаю, что при детальном чтении с использованием задачи SpotBugs Ant вы увидите, что ваш
<property name="spotbugs.home" value="C:/ant/lib"/>
не следует указывать на ant home, куда вы скопировалиspotbugs-ant.jar вместо этого он должен указывать на саму установку spotbugs, что не совпадает с 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.
Комментарии:
1. Привет, большое вам спасибо за вашу помощь. На самом деле я не устанавливал файлы SpotBugs в отдельный каталог. Я исправил это, а также отредактировал build.xml файл. Возможно, все еще есть некоторые ошибки, потому что я все еще получаю то же сообщение об ошибке. Подумайте об этом, может быть, снова какая-то очевидная ошибка: X