草庐IT

findbugs

全部标签

java - 验证 Java 类是否实现了 toString()

作为程序常规静态分析的一部分,我想检查类是否可能具有合理的toString()方法。可能不是每个类都实现它们,但也许没有可实例化的具体类使用Object的toString()实现。是否有检查此问题的lint工具包?我目前使用的是FindBugs和CheckStyle;我还没有找到一种明显的方法来检查使用其中任何一个。我也在考虑将PMD添加到我的lint套件中,并且也会对Sonar中的某些东西持开放态度。所以我更愿意使用我工具箱中已有的工具来完成它,但如果我需要添加另一个工具,我会考虑它。 最佳答案 您可以使用Checkstyle来做

java - Maven Findbugs 插件 - 如何在测试类上运行 findbug

Maven版本:3.3.3。Findbugs插件版本:3.0.1我正在使用findbugs-maven-plugin并且我需要运行findbugssrc和测试类上的插件。目前仅适用于源类Target|_classes|_test-classes|_findbugs(onlyhaveresultsregardingclassesfolder)我需要为PMD插件做同样的事情。也许是相同的提示?相关问题:FindBugsfilterfileforignoringJUnittestsHowtorunfindbugonthetestcodeFindbugsmaven配置:findbugsorg.

java - SonarQube Findbugs "needs sources to be compiled"

我正在尝试让SonarQubefindbugs正常工作,但是当我尝试运行它时出现错误:“Findbugs需要编译源代码。请在执行Sonar之前构建项目并检查编译类的位置。”sonar.sources设置为包含我所有src文件的文件夹,sonar.binaries设置为包含我所有类和jar文件的文件夹。此布局适用于我的一个项目的findbugs,但在另一个项目中出现上述错误。我该如何解决这个问题,FindBugs是否需要某个文件夹才能工作?谢谢。 最佳答案 添加属性sonar.binaries=${workspace}/proy/bu

java - 处理循环依赖

我想知道是否有人可以建议任何打破Java中两个类之间循环依赖的好方法。FindBugs提议使用接口(interface),所以我想知道是否有人对此类问题有任何好的经验。 最佳答案 并不总是要避免循环依赖。我会在大范围内避免使用它们,但会保留在系统的小角落。总的来说,如果数据访问层和J2EE应用程序的表示层循环依赖,我会说这是一件坏事,因为这意味着一切都必须一次性编译,测试是噩梦。但是,如果列表数据结构及其迭代器类型是循环依赖的,那没问题。正如Findbugs建议的那样,使用接口(interface)来打破循环依赖。即为至少一种类型的

java - 如何避免 "Security - A prepared statement is generated from a nonconstant String"FindBugs 警告

我正在从事一个项目,其中有一段代码如下所示:Stringsql="SELECTMAX("+columnName+")FROM"+tableName;PreparedStatementps=connection.prepareStatement(sql);有什么方法可以更改此代码,以便FindBugs停止给我一个“安全性-准备好的语句是从非常量字符串生成的”警告?请假设此代码对于SQLINJECTION是安全的,因为我可以在代码的其他地方控制可能的“tableName”和“columnName”的值(它们不直接来自用户输入)。 最佳答案

java - 如何解决对 java.util.concurrent.ConcurrentHashMap 的 findbug 调用序列可能不是原子的

您好,当我在我的项目中针对以下代码运行查找错误时,遇到错误“对java.util.concurrent.ConcurrentHashMap的调用序列可能不是原子的”。publicstaticfinalConcurrentHashMap>personTypeMap=newConcurrentHashMap>();privatestaticvoidsetDefaultPersonGroup(){PersonDaocrud=PersonDao.getInstance();ListpersonDBList=crud.retrieveAll();for(Personperson:personDB

java - Findbugs 与 Google CodePro AnalytiX(Eclipse 插件)

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我已经使用过GoogleCodeProAnalytiX,但我从未使用过Findbugs。我对Findbugs的第一印象是它更难配置。之后,我相信两者是相似的。你怎么看?还有一个相关问题:这些插件都没有将我们的代码发送到服务器,对吗?(例如,如果我们使用CodePro,我们的代码不会发送到Google服务器)。

java - 写入静态字段 - 在这种情况下 FindBugs 是错误的吗?

我有一个这样的Java类:publicclassFoo{publicstaticintcounter=0;publicvoidbar(intcounter){Foo.counter=counter;}}FindBugs警告我通过实例方法bar写入静态字段counter。但是,如果我将代码更改为:publicclassFoo{publicstaticintcounter=0;publicstaticvoidsetCounter(intcounter){Foo.counter=counter;}publicvoidbar(intcounter){setCounter(counter);}}

java - 如何计算有符号随机整数的绝对值

我正在尝试生成存储的随机数,我需要返回字符串值。这是我的方法:publicStringgenerateRand(){java.util.Randomrand=newjava.util.Random(System.currentTimeMillis());Stringrnd=""+Math.abs(rand.nextInt())+""+Math.abs(System.currentTimeMillis());returnrnd;}Jenkins的Findbugs插件警告我有Badattempttocomputeabsolutevalueofsignedrandominteger。此代码生

java - 如何解决FindBugs DP_DO_INSIDE_DO_PRIVILEGED

在阅读和扫描旧代码时,我看到了这些代码行:publicstaticvoidreplaceNull(Objectobj){if(obj==null){return;}Field[]fields=obj.getClass().getDeclaredFields();if(fields!=null){for(Fieldfield:fields){field.setAccessible(true);ClassfieldType=field.getType();try{if(field.get(obj)==null){setDefaultValue(obj,field,fieldType);}}