java.lang.ClassNotFoundException:edu.umd.cs.findbugs.FindBugs2

Cod*_*ker 2 ant findbugs

在ant任务中运行findbugs时获得以下异常.
在我的findbugs家里,我有一个0.7版本的findbugs罐子和1.3.8版本的jsr305罐子.如果我错过任何
findbugs,请告诉我:

[findbugs]从ant任务执行findbugs
[findbugs]运行FindBugs ...
[findbugs] java.lang.NoClassDefFoundError:edu/umd/cs/findbugs/FindBugs2
[findbugs]引起:java.lang.ClassNotFoundException:edu.umd.
java.net.URLClassLoader上的cs.findbugs.FindBugs2 [findbugs] $ 1.run(未知来源)
[findbugs] java.security.AccessController.doPrivileged(本地方法)
[findbugs] at java.net.URLClassLoader.findClass(Unknown Source )
[findbugs] at java.lang.ClassLoader.loadClass(Unknown Source)
[findbugs] at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)
[findbugs] at java.lang.ClassLoader.loadClass(Unknown Source)
[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>
Run Code Online (Sandbox Code Playgroud)

car*_*_ms 9

在taskdef中,使用classpath属性指定包含findbugs类(FindBugsTask)的jar的确切位置.尝试这样的事情:

<taskdef name="findbugs" classpath="C:\apache-ant-1.7.1\lib\findbugsant\findbugs-ant.jar" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" />
Run Code Online (Sandbox Code Playgroud)

我有的findbugs jar是findbugs-ant.jar,所以在建议的解决方案中检查一下,并使用适用于你的情况的findbugs文件名,你应该没问题.