Поиск исходных путей с помощью муравьиной задачи FindBugs - PullRequest
3 голосов
/ 14 сентября 2009

Я пытаюсь заставить задачу муравья FindBugs включить информацию об источнике в сгенерированный отчет.

<findbugs home="${findbugs.home}" output="xml" outputFile="${basedir}/findbugs/findbugs-${package.basename}.xml" excludeFilter="${basedir}/findbugsExclude.xml" jvmargs="-Xmx1048m">
    <sourcePath path="${package.srcdir}" />
<class location="${package}" />
<auxClasspath>
    <path refid="findbugs.auxinput" />
    </auxClasspath>
</findbugs>

Насколько я понимаю, значение атрибута $ {package.srcdir} является правильным; он указывает на корень исходного дерева, так что $ {package.srcdir} /com/mydomain/MyClass.java является путем к исходному файлу.

Сгенерированные отчеты содержат элемент <SrcDir>, который соответствует исходному пути, заданному для задачи ant, поэтому, очевидно, элемент <sourcePath> обрабатывается задачей findbugs. Несмотря на это, статистика пакетов в отчетах XML содержит только sourceFile="&lt;Unknown&gt;".

Я что-то упускаю из виду?

Ответы [ 2 ]

5 голосов
/ 01 октября 2009

У меня была такая же проблема.

Возможно, ваш код скомпилирован с "-g: none". Если вы используете задачу ant , установите .

Правильно установив исходный путь (как указано в руководстве по findbugs) к вложенной папке пакета верхнего уровня (в проектах eclipse - к папке src), вы должны добиться успеха.

Тем не менее, на самом деле, в некоторых случаях findbugs не могут определить правильный номер строки источника.

ура, Christian

0 голосов
/ 09 апреля 2013

Попробуйте эхо, как это (в том числе номер два):

<echo message="Finding Bugs From ${package.srcdir}"/>  

Я подозреваю, что для package.srcdir еще не установлено значение. Попробуйте использовать

<sourcePath path="${basedir}/src/com" />

Или любой каталог, содержащий ваши исходные файлы.


Не забудьте пометить ответ как принятый, если он решит ваш вопрос.

...