我正在使用以下链接创建一个ant脚本,以便在web应用程序上运行findbug:第6章.使用FindBugs™Ant任务
我正在将auxClasspath参数设置为jars文件夹。
但是当我从命令提示符使用 and 运行任务时,需要很长时间(~45分钟),输出xml包含对auxClasspath中的jars的分析以及我的源代码。
我只想分析我的源代码。
这是我的build.xml中的代码:
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
<property name="findbugs.home" value="C:/Software/FindBugs" />
<target name="findbugs" >
<echo message="Finding Bugs From ${basedir}/src/java"/>
<findbugs home="${findbugs.home}"
output="xml:withMessages"
outputFile="${basedir}\findbugs.xml"
stylesheet="fancy-hist.xsl"
timeout="6000000"
jvmargs="-Xmx1200m">
<auxClasspath path="${basedir}/Jars/*.jar" />
<sourcePath path="${basedir}/src/java"/>
<class location="${basedir}/build/myApp-1.0.jar" />
</findbugs>
</target>我在我的ant安装库中添加了findbugs ant.jar。findbugs目录存在。
其他资料:
IDE: Netbeans 7.3
OS:
蚂蚁版本: 1.8.4
查找Bugs版本: 2.0.2
更新
如果我省略了这句话:
<auxClasspath path="${basedir}/Jars/*.jar" />我得到了我想要的输出(即只分析我的源代码)。但它提出了一个警告:
[findbugs] The following classes needed for analysis were missing:
[findbugs] javax.servlet.http.HttpServlet
[findbugs] javax.servlet.http.HttpServletRequestWrapper
[list continues]....任何想法,为什么要找到bug是分析的罐子,它不应该分析(根据文档)
发布于 2013-05-21 05:47:00
我试图跟踪源代码中使用的Jars。
在findbugs输出中,我找到了一行:${basedir}\Jars\antlr-2.7.2.jar
findbugs分析报告显示,所有其他jars(antlr-2.7.2.jar除外)都丢失了。
再也没有auxClassPath条目了。通过在不同的行中指定每个类路径条目来解决这个问题。
如果任何人有更好的想法,请作出贡献。
发布于 2015-03-26 20:46:43
我使用以下auxClasspath设置将我的jars全部拉到lib文件夹中,并将所有jars拖到lib文件夹下的目录中。
<auxClasspath>
<fileset dir="${lib.dir}">
<include name="*/**"/>
<include name="*.jar"/>
</fileset>
</auxClasspath>把它放在findbug标签中。
发布于 2013-04-09 10:13:15
尝试移除这一行
<class location="${basedir}/build/myApp-1.0.jar" />现在,尝试同时分析jar和源文件,这需要很长时间。
如果在对源的分析过程中遇到此类,则需要使用此行查找类。
<auxClasspath path="${basedir}/Jars/*.jar" />也许可以将其限制在真正需要的罐子中,而不是文件夹中的所有。
https://stackoverflow.com/questions/15898893
复制相似问题