java.lang.ClassNotFoundException: edu.umd.cs.findbugs.FindBugs2 - PullRequest
2 голосов
/ 01 февраля 2011

Получение следующих исключений при запуске findbugs в задаче ant.
У меня есть фишка findbugs версии 0.7 и jar jr305 версии 1.3.8 в моем доме findbugs. Дайте мне знать, если я что-то упустил
findbugs:

[findbugs] Выполнение findbugs из задачи ant
[findbugs] Запуск FindBugs ...
[findbugs] java.lang.NoClassDefFoundError: edu / umd / cs / findbugs / FindBugs2
[findbugs] Причина: java.lang.ClassNotFoundException: edu.umd.cs.findbugs.FindBugs2
[findbugs] на java.net.URLClassLoader $ 1.run (неизвестный источник)
[findbugs] в java.security.AccessController.doPrivileged (собственный метод)
[findbugs] на java.net.URLClassLoader.findClass (неизвестный источник)
[findbugs] в java.lang.ClassLoader.loadClass (неизвестный источник)
[findbugs] at sun.misc.Launcher $ AppClassLoader.loadClass (Неизвестный источник)
[findbugs] в java.lang.ClassLoader.loadClass (неизвестный источник)
[findbugs] Не удалось найти основной класс: edu.umd.cs.findbugs.FindBugs2. Программа закроется.
[findbugs] Исключение в теме "main"
[findbugs] Вывод сохранен в findbugs.xml

<property name="build" value="C:\.hudson\jobs\project\workspace\child\classes" />
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/> 
<target name="findbugs" >
    <findbugs home="C:\apache-ant-1.7.1\lib\findbugsant" 
              output="xml" 
              outputFile="findbugs.xml"> 
        <sourcePath path="C:\.hudson\jobs\project\workspace"/> 
        <class location="${build}" /> 
    </findbugs> 
</target>

Ответы [ 2 ]

9 голосов
/ 15 июня 2011

В вашем taskdef используйте атрибут classpath, чтобы указать, где именно находится jar, содержащий класс findbugs (FindBugsTask). Попробуйте что-то вроде этого:

<taskdef name="findbugs" classpath="C:\apache-ant-1.7.1\lib\findbugsant\findbugs-ant.jar" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />

У меня есть jar-файл findbugs findbugs-ant.jar , так что проверьте это в предлагаемом решении и используйте имя файла findbugs, которое применимо к вашему случаю, и вы должны быть в порядке.

0 голосов
/ 02 февраля 2011

Это выглядит как установка / конфигурация findbugs с ant.

Из приведенного выше фрагмента похоже, что findbugs был установлен в libвложенная папка ant, а не просто findbugs-ant.jar, скопированная в нее как документированная .

...