1.在build.sh的shell脚本添加如下命令:加粗字体为忽略的findbugs的错误
findbugs -exclude exclude_filter.xml -textui -output output/findbug-result.xml .
2.编写exclude_filter.xml
格式如下:
package代表的包名,这个貌似不起作用
class具体的类名
bug具体出现的错误提示
<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
<Match>
<!--前面不加~,表示直接匹配,不使用表达式,建议使用此种方式 -->
<Package name=""/>
</Match>
<Match> <Package name="~.*\.common.utils.net\.*"/> </Match>
<Match> <Package name="~.*\.octo.captcha.component.image\.*"/> </Match>
<Match> <Package name="~.*\.octo.captcha.engine.image\.*"/> </Match>
<Match> <Package name="~.*\.octo.captcha.engine.sound\.*"/> </Match>
<Match> <Package name="~.*\.octo.captcha.image\.*"/> </Match>
<Match> <Class name="~.*\.*Factory"/> </Match>
<Match> <Class name="~.*\.*Utils"/> </Match>
<Match> <Class name="~.*\.*derBy"/> </Match>
<Match> <Class name="~.*\.*Student"/> </Match>
<Match> <Class name="~.*\.*Dao"/> </Match>
<Match> <Class name="~.*\.*Interface"/> </Match>
<Match> <Class name="~.*\.*Engine"/> </Match>
<Match> <Class name="~.*\.*nuEntity"/> </Match>
<Match> <Class name="~.*\.*Resource"/> </Match>
<Match> <Class name="~.*\.*Config"/> </Match>
<Match> <Class name="~.*\.*rceConfig"/> </Match>
<Match> <Class name="~.*\.*Exception"/> </Match>
<Match> <Class name="~.*\.*Generator"/> </Match>
<Match> <Class name="~.*\.*xtPaster"/> </Match>
<Match> <Class name="~.*\.*edString"/> </Match>
<Match> <Class name="~.*\.*omTextPaster"/> </Match>
<Match> <Class name="~.*\.*Decorator"/> </Match>
<Match> <Class name="~.*\.*WordList"/> </Match>
<Match> <Class name="~.*\.*dGenerator"/> </Match>
<Match> <Class name="~.*\.*yeEngine"/> </Match>
<Match> <Class name="~.*\.*pyEngine"/> </Match>
<Match> <Class name="~.*\.*chaEngine"/> </Match>
<Match> <Class name="~.*\.*ToJPEG"/> </Match>
<Match> <Class name="~.*\.*ToFile"/> </Match>
<Match> <Class name="~.*\.*goGenerator"/> </Match>
<Match> <Class name="~.*\.*ndToFile"/> </Match>
<Match> <Class name="~.*\.*chaService"/> </Match>
<Match> <Bug pattern="EI_EXPOSE_REP"/> </Match>
<Match> <Bug pattern="EI_EXPOSE_REP2"/> </Match>
<Match> <Bug pattern="UUF_UNUSED_FIELD"/> </Match>
<Match> <Bug pattern="NM_CLASS_NAMING_CONVENTION"/> </Match>
<Match> <Bug pattern="NM_FIELD_NAMING_CONVENTION"/> </Match>
<Match> <Bug pattern="NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER"/> </Match>
<Match> <Bug pattern="NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER"/> </Match>
<Match> <Bug pattern="NM_METHOD_NAMING_CONVENTION"/> </Match>
<Match> <Bug pattern="OS_OPEN_STREAM"/> </Match>
<Match> <Bug pattern="NM_BAD_EQUAL"/> </Match>
<Match> <Bug pattern="NM_LCASE_HASHCODE"/> </Match>
<Match> <Bug pattern="NM_LCASE_TOSTRING"/> </Match>
<Match> <Bug pattern="RU_INVOKE_RUN"/> </Match>
<Match> <Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"/> </Match>
<Match> <Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD"/> </Match>
<Match> <Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"/> </Match>
<Match> <Bug pattern="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD"/> </Match>
<Match> <Bug pattern="URF_UNREAD_FIELD"/> </Match>
<Match> <Bug pattern="UUF_UNUSED_FIELD"/> </Match>
<Match> <Bug category="MALICIOUS_CODE"/> </Match>
<Match> <Bug pattern="UWF_UNWRITTEN_FIELD"/> </Match>
<Match> <Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/> </Match>
<Match> <Bug pattern="DM_DEFAULT_ENCODING"/> </Match>
<Match> <Bug pattern="DC_DOUBLECHECK"/> </Match>
<Match> <Bug pattern="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE"/> </Match>
<Match> <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/> </Match>
<Match> <Bug pattern="REC_CATCH_EXCEPTION"/> </Match>
<Match> <Bug pattern="SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING"/> </Match>
<Match> <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/> </Match>
<Match> <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE"/> </Match>
<Match> <Bug pattern="SE_UNRELATED_TYPES"/> </Match>
<Match> <Bug pattern="EC_UNRELATED_TYPES"/> </Match>
</FindBugsFilter>