yexuejc 737e2b6f57
CI - Build and Quality Check / build (push) Has been cancelled
CI - Build and Quality Check / security-check (push) Has been cancelled
CI - Build and Quality Check / release (push) Has been cancelled
docs: 更新README+CHANGELOG为v2.0.0四分支文档
- README: 版本号升级2.0.0, 新增jre17分支, 添加各分支JDK特性差异表
- README: 新增分支管理策略说明(master对齐jre21)
- CHANGELOG: 补充Task#16异常规范修复记录
- CHANGELOG: 重写版本说明章节, 含v2.0.0更新摘要和四分支对照表
2026-05-16 21:26:18 +08:00
2026-04-24 16:46:03 +08:00
2026-04-18 15:38:56 +08:00
2026-04-18 15:38:56 +08:00
2026-04-18 15:53:13 +08:00
2026-04-18 15:53:13 +08:00
2026-04-24 16:33:23 +08:00
2026-04-18 15:38:56 +08:00

yexuejc-base

License: MIT Maven Central

Java 常用工具包,支持 Java 8 / 11 / 17 / 21 多版本适配

版本选择

版本号格式:主版本号.次版本号.修订号-jrexx,其中 jrexx 表示目标 JDK 版本。

Java 版本 分支 推荐版本号 说明
Java 21+(推荐) jre21 2.0.0-jre21 主开发分支,包含最新语法特性
Java 17+(LTS) jre17 2.0.0-jre17 LTS 长期支持
Java 11+(LTS) jre11 2.0.0-jre11 LTS 长期支持
Java 8+ jre8 2.0.0-jre8 兼容旧项目

master 分支: 对齐 jre21 功能,版本号不含 -jrexx 后缀(当前为 2.0.0),作为统一文档和发布参考。

Maven 引入

<dependency>
    <groupId>top.yexuejc</groupId>
    <artifactId>yexuejc-base</artifactId>
    <!-- 根据你的 JDK 版本选择对应版本 -->
    <version>2.0.0-jre21</version>
</dependency>

各分支功能差异

以下功能在所有分支中完全相同:

  • 加密模块:AES / DES3 / RSA / RSA2 / 签名验签
  • 数据处理:JsonUtil / StrUtil / ObjUtil / CsvUtil
  • 文件操作:FileUtil / ZipUtil / ImgUtil
  • 异常体系:BaseException / BaseRuntimeException / ExpCode + i18n 多语言
  • POJO:BaseVO / PagerVO / RequestHeader / Response 体系
  • 工具类:MoneyUtil / SysUtil / IdcardValidator / MessageService (SPI)

以下功能因 JDK 版本存在实现差异:

功能 jre21 (Java 21+) jre17 (Java 17+) jre11 (Java 11+) jre8 (Java 8+)
switch 表达式(模式匹配) ✅ ❌ if-else ❌ if-else ❌ if-else
instanceof 模式匹配 ✅ ✅ ❌ 强制转型 ❌ 强制转型
var 局部变量类型推断 ✅ ✅ ❌ 显式类型 ❌ 显式类型
@Serial 注解 ✅ ✅ ❌ 移除 ❌ 移除
Optional.isEmpty() ✅ ✅ ✅ ❌ isPresent() 取反
List.of() / Map.of() ✅ ✅ ✅ ❌ Arrays.asList()
Files.writeString() ✅ ✅ ✅ ❌ 自定义写入方法
System.Logger (JDK9+) ✅ ✅ ✅ ❌ java.util.logging.Logger
Record 类型支持 ✅ ✅(16+) ❌ ❌
Text Block ("""") ✅ ✅(15+) ❌(13+) ❌
Sealed Classes ✅ ✅(17+) ❌ ❌

特性

  • 开箱即用 — 基于 Spring Boot 提取,适用于所有 Java 工程
  • 四分支同步 — 同步维护 jre8 / jre11 / jre17 / jre21 四个分支,功能对齐
  • 零外部依赖 — 核心模块仅依赖 Jackson,其余均为 Java 原生实现
  • 生产可用 — 经过多个商业项目验证
  • 多语言异常 — ExpCode + i18n properties(zh_CN / en_US / ja_JP / ko_KR / zh_TW)

功能模块

加密

组件 说明
AES CBC / GCM / CFB / OFB / PCBC 模式
DES3 3DES 加解密(已标记废弃,推荐使用 AES-GCM)
RSA 支持 PKCS1 / OAEP 填充,密钥生成与证书模式
签名 MD5withRSA / SHA256withRSA

日期时间

组件 说明
DateTimeUtil 基于 java.time API(推荐)
DateUtil 基于 java.util.Date(已标记废弃)

数据处理

组件 说明
JsonUtil Jackson 封装,内置 LocalDate/LocalDateTime/Timestamp 序列化
StrUtil UUID、MD5、SHA256、驼峰转换、URL 编解码、空值判断
ObjUtil 驼峰↔下划线字段映射、Bean 复制、深度克隆
CsvUtil CSV 文件写入,支持 Bean 转 CSV、自定义编码/BOM/分隔符/换行符

文件操作

组件 说明
FileUtil 类型判断、MD5/SHA1/CRC32 摘要、大文件分段读取、通用 digest
ZipUtil ZIP 压缩与解压
CSV @CsvHeader 注解驱动,CSV ↔ Bean 转换

网络通信

组件 说明
HTTP 响应 BasicResponse / ListResponse / ObjectResponse / SignResponse
JWT HS512 签名,支持过期时间配置
签名请求 SignRequest / SignResponse 签名体系

工具类

组件 说明
IdcardValidator 身份证号校验(18位 + 出生日期验证)
MoneyUtil 金额转换(分 ↔ 元)
SysUtil 系统线程、JVM 内存信息(无外部依赖)
MessageService SPI 机制,支持多语言消息(zh_CN/en_US/ja_JP/ko_KR/zh_TW)

异常体系

组件 说明
BaseException 受检异常基类
BaseRuntimeException 非受检异常基类
ExpCode 统一异常码枚举

POJO

BaseVO / PagerVO / RequestHeader / CreateZipFileBean 等通用数据对象。

文档

文档 说明
功能说明 各模块详细功能文档
更新记录 版本变更日志(含四分支记录)
全功能列表 四分支功能对比

分支管理策略

master (2.0.0)          ← 统一文档/发布参考,对齐 jre21 功能
  ├── jre21  (2.0.0-jre21)  ← 主开发分支
  ├── jre17  (2.0.0-jre17)  ← LTS 同步
  ├── jre11  (2.0.0-jre11)  ← LTS 同步
  └── jre8   (2.0.0-jre8)   ← 兼容同步

工作流: 功能开发在 jre21 完成 → 验证通过后 merge 到 jre17/jre11/jre8(按需做 JDK 兼容降级)→ 最终合并到 master。

贡献

欢迎提交 Issue 和 Pull Request。

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/xxx)
  3. 提交改动 (git commit -m 'feat: xxx')
  4. 推送分支 (git push origin feature/xxx)
  5. 创建 Pull Request

License

本项目基于 MIT License 开源。

Copyright © 2017-2026 yexuejc

S
Description
No description provided
Readme MIT
906 KiB
0 Stars 1 Watchers 0 Forks
Languages
Java 100%