草庐IT

Findbugs

全部标签

java - findbugs和数据库密码安全问题

我正在使用以下代码来初始化数据库连接:publicConnectiongetConnection(){try{if(null==connection){StringdriverName="com.mysql.jdbc.Driver";//MySQLMMJDBCdriverClass.forName(driverName);//CreateaconnectiontothedatabaseStringserverName="localhost";Stringdatabase="database";Stringurl="jdbc:mysql://"+serverName+"/"+mydata

java - 为什么 FindBugs 会忽略我的 null 检查?

谁能解释一下为什么会抛出一个findbug警告:if(m!=null&&m.getModifiedDate()!=null)content.put("ModifiedDate",m.getModifiedDate().getTime());这是有效的:if(m!=null){Datedate=m.getModifiedDate();if(date!=null)content.put("ModifiedDate",date.getTime());}警告:由于被调用方法的返回值,可能会取消引用空指针。是否有可能告诉FindBugs示例1不应该是警告? 最佳答案

java - 如何将 FindBugs maven 插件配置为仅检查 @Nonnull 等注释违规?

我已经实现了thisquestion的答案使@Nonnull违规使构建失败。但问题是,这会发现很多我不想处理的其他错误。我看过themanual,并且没有任何部分像“这是您配置要检查的内容”一章那样突然出现在我面前。对我来说好像是itshouldbeinhere,但选项的数量似乎还不够全面。我如何将findbugs配置为仅关心findbugs注释?我可能会接受告诉我如何在不使用maven插件的情况下执行此操作的答案,因为我认为我可以弄清楚如何将其转换为插件可以使用的内容。 最佳答案 这是我使用的findbugsmaven配置:org

java - findbugs可以检测未使用的公共(public)方法吗

是否可以使用FindBugs检测源代码树中未使用的方法?我在SO上看到一些帖子,用户声称这样做,其他一些帖子询问如何在FB中执行此操作,还有一些帖子声称FB不能这样做。有人知道这是怎么做到的吗?我只对未从其他地方明确调用的方法感兴趣,我不关心反射。 最佳答案 作为FindBugs团队的一员,我可以告诉您,不幸的是,FindBugs不会这样做。如果您搜索bugpatterns在我们的网站上,唯一提及的“未使用”检测器是针对未使用的字段。 关于java-findbugs可以检测未使用的公共(

java - FindBugs RV_ABSOLUTE_VALUE_OF_RANDOM_INT 警告

我正在尝试使用FindBugs对我们的项目进行代码审查。我们有一个方法来生成唯一的id(随机):publicstaticStringgenerateUUID(intbase){returnString.valueOf(getCurrentTimeInNanos((long)base))+String.valueOf(Math.abs(random.nextInt()));}并且findBugs指示RV_ABSOLUTE_VALUE_OF_RANDOM_INT警告(RV:错误尝试计算带符号的32位随机整数的绝对值),我猜问题出在String.valueOf(Math.abs(random

java - FindBugs 错误 : Write to static field from instance method

我的应用程序中有几个区域在从实例方法中操作静态变量的值时出现错误。“从实例方法写入静态字段”。如果我们不考虑多线程,即使多个实例写入同一个static变量,这种情况是否会带来任何潜在问题? 最佳答案 从文档...Thisinstancemethodwritestoastaticfield.Thisistrickytogetcorrectifmultipleinstancesarebeingmanipulated,andgenerallybadpractice.首先,它说这是一种不好的做法,并非不正确。第二件事是关于提出任何潜在问题的

java - 使用 FindBugs 发现 NullPointerException 错误

当我在此代码上运行FindBugs时,它没有报告任何问题。boolean_closed=false;publicvoidm1(@NullableStringtext){if(_closed)return;System.out.println(text.toLowerCase());}虽然它在这里发现了预期的问题:publicvoidm1(@NullableStringtext){System.out.println(text.toLowerCase());//FindBugs:textmustbenonnullbutismarkedasnullable}为什么第一种情况会失败?

java - 自定义注释以抑制特定的 FindBugs 警告

我想创建自定义注释来抑制单个FindBugs警告,以便更容易通过代码完成使用它们。例如,这个忽略不设置所有@Nonnull字段的构造函数。@TypeQualifierDefault(ElementType.CONSTRUCTOR)@SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")@Retention(RetentionPolicy.CLASS)public@interfaceSuppressNonnullFieldNotInitializedWarning{}但是,我在使用注释时仍然看到警告。pu

java - 为什么 findbugs 会为一种方法提供冗余的 nullcheck 而不是另一种方法

我一直在方法上使用@Nonnull和@Nullable注释来为其他程序员(和我自己!)提供有关方法可以返回什么的线索。我最终决定在一个类上实际运行Findbugs(IntelliJ-FindBugs-IDEAv1.0.1),但我不明白我所看到的行为。文档也没有帮助。假设我有以下示例代码:importjavax.annotation.Nonnull;publicclassMain{publicstaticvoidmain(String[]args){}@NonnullpublicstaticStringmyFunc(){returnnewString("foo");}@Nonnullpu

java - Maven + FindBugs - 高优先级警告失败

我在一个大型项目中使用Maven和FindBugs。如果FindBugs产生任何高优先级错误,我想导致Maven构建失败。可以在pom.xml中设置一个简单的参数以在出现错误时失败,但我需要它在出现高优先级警告时失败。任何建议都是巨大的! 最佳答案 我怀疑您已经知道插件可用的findbugs:check目标。将阈值配置项设置为高应将目标限制为仅在高优先级问题上失败。这是您的pom.xml的示例配置片段......org.codehaus.mojofindbugs-maven-plugin2.4.0failing-on-highpro