merge: 合并 main(新增文件下载模块)并适配 Java 21
- 版本统一为 1.9-SNAPSHOT-Java21(pom / version 常量 / README / INFO) - 合并 main 新增的文件下载模块(单线程 + HTTP Range 多线程下载)与门面接口 - 修复多线程下载:块失败异常不再被静默吞掉(解包 ExecutionException 抛出 RuntimeException)、 文件小于线程数时收敛有效线程数、线程池 finally 关闭 - 测试适配:原 downloadfile 测试不匹配 surefire 规则且依赖内网,重写为本地 HttpServer 驱动的 DownloadFileTest(单线程/多线程/小文件边界/不支持断点续传抛错) - SpotBugs 排除规则补充下载模块的遗留命名;README 测试说明同步(58 个用例) - 验证:JDK 21 下 mvn clean verify 通过(58/58 测试 + checkstyle + SpotBugs 0 问题)
This commit is contained in:
commit
5388ecaa7e
8 files changed
+492
-27
No files matched your search
@@ -1,4 +1,4 @@
|
||||
1.8-SNAPSHOT-Java21
|
||||
1.9-SNAPSHOT-Java21
|
||||
|
||||
此版本包含:
|
||||
1. 压缩/解压 (`compress`)
|
||||
@@ -13,22 +13,31 @@
|
||||
4.1 AES-256/GCM 加密
|
||||
4.2 RSA-2048/OAEP 混合加密
|
||||
4.3 DES 加密(已废弃,仅兼容旧版本)
|
||||
5. 随机生成器 (`random`)
|
||||
6. 硬件标识生成器 (`hwid`)
|
||||
7. 版本信息 (`version`)
|
||||
8. 运行时信息 (`runtime`)
|
||||
8.1 获取运行时临时目录
|
||||
8.2 新建临时目录
|
||||
8.3 获取当前运行的 JAR 文件路径
|
||||
5. 文件下载 (`file/download`)
|
||||
5.1 单线程下载
|
||||
5.2 多线程下载(HTTP Range 分块并行下载,支持断点续传)
|
||||
6. 随机生成器 (`random`)
|
||||
7. 硬件标识生成器 (`hwid`)
|
||||
8. 版本信息 (`version`)
|
||||
9. 运行时信息 (`runtime`)
|
||||
9.1 获取运行时临时目录
|
||||
9.2 新建临时目录
|
||||
9.3 获取当前运行的 JAR 文件路径
|
||||
|
||||
1.8 更新内容:
|
||||
1.9 更新内容:
|
||||
- 新增文件下载模块 (`file/download`)
|
||||
- 支持单线程下载和多线程并行下载(基于 HTTP Range 请求)
|
||||
- 多线程下载自动创建父目录,预分配文件空间
|
||||
- 使用 Java HttpClient 标准库,支持自动重定向
|
||||
- 多线程下载块失败时向调用方抛出异常(不再静默吞掉)
|
||||
- 测试改为本地 HTTP 服务器驱动(不依赖外网),确保可重复执行
|
||||
|
||||
1.8 更新内容(历史):
|
||||
- 版本号升级为 1.8-SNAPSHOT-Java21(pom / version 常量 / README 引用同步)
|
||||
- 质量插件适配 Java 21:checkstyle 升级至 3.6.0(新增 checkstyle.xml 并绑定 verify 阶段),
|
||||
SpotBugs 4.8.6.6 替换已停止维护的 FindBugs(新增排除规则),javadoc 升级至 3.12.0(禁用 doclint)
|
||||
- 修复 SpotBugs 发现的空指针风险:压缩/解压方法 getFileName()/getParent() 空值防御,
|
||||
加密模块共享 SecureRandom 实例
|
||||
- 构建验证通过:mvn clean verify(53 个测试用例 + checkstyle + SpotBugs 0 问题)
|
||||
与 mvn javadoc:javadoc 均成功
|
||||
|
||||
1.7 更新内容(历史):
|
||||
- 安全:修复 Zip-Slip 路径穿越漏洞,解压时校验条目路径并拒绝符号/硬链接条目
|
||||
@@ -43,4 +52,4 @@
|
||||
版本号统一由 pom / MANIFEST Implementation-Version 提供
|
||||
- 兼容性:向下降级为 Java 21
|
||||
|
||||
在 1.7-SNAPSHOT-Java21 的基础上进行版本升级与质量插件修复。
|
||||
在 1.8-SNAPSHOT-Java21 的基础上新增文件下载模块并同步 1.9 版本号。
|
||||
Reference in new issue
Block a user