首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FindBugs扫描外部罐

FindBugs扫描外部罐
EN

Stack Overflow用户
提问于 2013-04-09 09:58:07
回答 3查看 5.4K关注 0票数 1

我正在使用以下链接创建一个ant脚本,以便在web应用程序上运行findbug:第6章.使用FindBugs™Ant任务

我正在将auxClasspath参数设置为jars文件夹。

但是当我从命令提示符使用 and 运行任务时,需要很长时间(~45分钟),输出xml包含对auxClasspath中的jars的分析以及我的源代码。

我只想分析我的源代码。

这是我的build.xml中的代码:

代码语言:javascript
复制
<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

更新

如果我省略了这句话:

代码语言:javascript
复制
<auxClasspath path="${basedir}/Jars/*.jar" />

我得到了我想要的输出(即只分析我的源代码)。但它提出了一个警告:

代码语言:javascript
复制
[findbugs] The following classes needed for analysis were missing:
[findbugs]   javax.servlet.http.HttpServlet
[findbugs]   javax.servlet.http.HttpServletRequestWrapper
[list continues]....

任何想法,为什么要找到bug是分析的罐子,它不应该分析(根据文档)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-21 05:47:00

我试图跟踪源代码中使用的Jars。

在findbugs输出中,我找到了一行:${basedir}\Jars\antlr-2.7.2.jar

findbugs分析报告显示,所有其他jars(antlr-2.7.2.jar除外)都丢失了。

再也没有auxClassPath条目了。通过在不同的行中指定每个类路径条目来解决这个问题。

如果任何人有更好的想法,请作出贡献。

票数 3
EN

Stack Overflow用户

发布于 2015-03-26 20:46:43

我使用以下auxClasspath设置将我的jars全部拉到lib文件夹中,并将所有jars拖到lib文件夹下的目录中。

代码语言:javascript
复制
<auxClasspath>
    <fileset dir="${lib.dir}">
        <include name="*/**"/>
        <include name="*.jar"/>
    </fileset>
</auxClasspath>

把它放在findbug标签中。

票数 1
EN

Stack Overflow用户

发布于 2013-04-09 10:13:15

尝试移除这一行

代码语言:javascript
复制
<class location="${basedir}/build/myApp-1.0.jar" />

现在,尝试同时分析jar和源文件,这需要很长时间。

如果在对源的分析过程中遇到此类,则需要使用此行查找类。

代码语言:javascript
复制
<auxClasspath path="${basedir}/Jars/*.jar" />

也许可以将其限制在真正需要的罐子中,而不是文件夹中的所有。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15898893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档