fix: 修复质量插件在 Java 21 下不可用,并修复 SpotBugs 发现的空指针风险

- checkstyle: 升级至 3.6.0,新增 checkstyle.xml 基础规则,绑定 verify 阶段
- findbugs: 替换为 spotbugs-maven-plugin 4.8.6.6(FindBugs 已停止维护且无法解析 Java 21 字节码),
  绑定 verify 阶段,新增 spotbugs-exclude.xml 排除遗留命名等检查
- javadoc: 升级至 3.12.0(3.12.1 在中央仓库不存在),禁用 doclint
- 修复 SpotBugs 发现的问题:压缩/解压方法中 getFileName()/getParent() 可能为 null 的防御,
  共享 SecureRandom 实例避免重复创建
This commit is contained in:
database-mysql committed 2026-11-02 09:56:28 +08:00
1 parent 28eaccf35f
commit 6c843c4030
5 files changed
+115 -11

No files matched your search

+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter xmlns="https://github.com/spotbugs/filter/4.8.6"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://github.com/spotbugs/filter/4.8.6 https://raw.githubusercontent.com/spotbugs/spotbugs/4.8.6/spotbugs/etc/findbugsfilter.xsd">
<!--
遗留命名规范:以下类/方法沿用了历史 API 命名(小写类名、PascalCase 方法名),
重命名属于破坏性变更,暂不处理,待后续大版本统一规范后移除本排除。
-->
<Match>
<Class name="~.*\.(compress|echo|version|defaults|getHWID)$"/>
<Bug pattern="NM_CLASS_NAMING_CONVENTION"/>
</Match>
<Match>
<Class name="~.*\.(CreateFile|EncryptionAndDecryption|echo)$"/>
<Bug pattern="NM_METHOD_NAMING_CONVENTION"/>
</Match>
<!--
REC_CATCH_EXCEPTION:CompressPNG.PNG 的兜底 catch(Exception) 为有意设计
(压缩失败统一返回 null),该检查噪音较高,全局排除。
-->
<Match>
<Bug pattern="REC_CATCH_EXCEPTION"/>
</Match>
</FindBugsFilter>