chore(build): 删除Spring Boot 4升级相关备份文件和分析文档

- 删除 .openclaw/workspace-state.json 工作区状态文件
- 删除 healthlink-his-server/pom.xml.bak Maven配置备份文件
- 删除 SPRINGBOOT_4_UPGRADE_ANALYSIS.md 升级分析报告
- 删除 SPRINGBOOT_4_UPGRADE_GUIDE.md 升级操作手册
This commit is contained in:
2026-06-05 14:43:51 +08:00
parent dccf658277
commit 051b0edee4
5 changed files with 0 additions and 1264 deletions

View File

@@ -1,193 +0,0 @@
# Spring Boot 4.0 升级分析报告
> 📅 分析日期: 2026-06-04
> 📌 当前版本: Spring Boot 3.5.14
> 🎯 目标版本: Spring Boot 4.0.6 (最新稳定版)
> ⚠️ 风险等级: 🔴 高 (存在关键组件不兼容)
---
## 1. 版本对比总览
| 组件 | 当前 (SB 3.5.14) | 目标 (SB 4.0.6) | 变化 |
|---|---|---|---|
| **Spring Boot** | 3.5.14 | **4.0.6** | 大版本跳跃 |
| **Spring Framework** | 6.2.18 | **7.0.7** | 大版本跳跃 |
| **Spring Security** | 6.5.10 | **7.0.5** | 大版本跳跃 |
| **Java** | 17+ | **17+** | 不变 |
| **Tomcat** | 10.1.54 | **11.0.21** | 大版本跳跃 |
| **Hibernate** | 6.6.x | **7.2.12** | 大版本跳跃 |
| **Flyway** | 11.7.2 | **11.14.1** | 小版本升级 |
| **Kotlin** | 2.0.x | **2.2.21** | 小版本升级 |
| **Jackson 2** | 2.21.2 | **2.21.2** | 不变 |
| **Jackson 3** | ❌ 无 | **3.1.2** | 🆕 新增 |
| **Quartz** | 2.5.2 | **2.5.2** | 不变 |
| **PostgreSQL** | 42.7.4 | **42.7.10** | 补丁升级 |
---
## 2. 🔴 关键阻塞项 (必须解决才能升级)
### 2.1 MyBatis Plus — 没有 Spring Boot 4 Starter
| 项目 | 状态 |
|---|---|
| `mybatis-plus-spring-boot4-starter` | ❌ **不存在** |
| `mybatis-plus-spring-boot3-starter` 最新版 | 3.5.16 (仅支持 SB 3.x) |
| `mybatis-plus-boot-starter` 最新版 | 3.5.7 (SB 2.x) |
**影响**: MyBatis Plus 是项目核心 ORM没有 Boot 4 Starter 意味着:
- 自动配置可能不兼容 Spring Framework 7.x
- Bean 注册方式可能变化
- 需要手动配置或等待官方适配
**可能方案**:
1.**等待官方发布** — MyBatis Plus 通常在 Spring Boot 大版本发布后 3-6 个月适配
2. 🔧 **手动适配** — 基于 `mybatis-plus-spring-boot3-starter` 修改自动配置类
3. 🔄 **降级使用** — 使用 `mybatis-plus-core` + 手动配置(工作量大)
### 2.2 Druid — 没有 Spring Boot 4 Starter
| 项目 | 状态 |
|---|---|
| `druid-spring-boot4-starter` | ❌ **不存在** |
| `druid-spring-boot-3-starter` 最新版 | 1.2.25 |
| Druid 核心版 | 1.2.25 |
**影响**: Druid 数据源自动配置和监控功能可能不兼容。
**可能方案**:
1. 🔧 **手动配置 DruidDataSource** — 绕过 Spring Boot 自动配置
2. 🔄 **替换为 HikariCP** — Spring Boot 4 默认连接池(已内置)
### 2.3 Flowable — 需要验证
| 项目 | 状态 |
|---|---|
| `flowable-engine` 最新版 | **8.0.0** |
| 当前使用 | 7.1.0 |
| Spring Framework 7 兼容性 | ⚠️ 未确认 |
**影响**: Flowable 8.0.0 可能适配了 Spring Framework 7但需要验证。
---
## 3. 🟡 中等风险项
### 3.1 Jackson 3 引入
Spring Boot 4 同时支持 Jackson 2 和 Jackson 3
- 项目使用 `fastjson2` 作为 JSON 库
- Jackson 3 可能与 fastjson2 的 Kotlin 扩展产生新的冲突
- 需要验证 `springdoc-openapi` 对 Jackson 3 的支持
### 3.2 Tomcat 11.x
- Tomcat 11 基于 Servlet 6.1 (Jakarta EE 11)
- 项目已迁移到 `jakarta.servlet`,理论上兼容
- 需要验证自定义 Filter/Servlet 的兼容性
### 3.3 Spring Security 7.0
- 可能有 API 变更(已在 3.5 中适配了大部分)
- 需要检查 `@EnableMethodSecurity` 等注解是否有变化
### 3.4 Hibernate 7.2
- 项目使用 JPA 相关功能较少(主要是 MyBatis Plus
- 风险较低
---
## 4. 🟢 低风险项
| 组件 | 当前 | SB 4 管理 | 备注 |
|---|---|---|---|
| Springdoc | 2.8.6 | 不管理 | 需要单独验证兼容性 |
| LiteFlow | 2.12.4.1 | 不管理 | 需要验证 Spring Framework 7 兼容性 |
| pagehelper | 2.1.1 | 不管理 | 需要验证 |
| Lombok | 1.18.34 | 不管理 | 低风险 |
| PostgreSQL Driver | 42.7.4 | 42.7.10 | 安全升级 |
---
## 5. 升级路径建议
### 方案 A: 等待生态成熟 (推荐 ⭐)
**时间线**: 2026 Q4 - 2027 Q1
| 阶段 | 时间 | 动作 |
|---|---|---|
| 等待 | 现在 ~ 2026 Q3 | 监控 MyBatis Plus / Druid / Flowable 的 Boot 4 适配进度 |
| 评估 | 2026 Q3 | 确认关键组件适配状态 |
| 升级 | 2026 Q4 | 执行升级 |
| 测试 | 2026 Q4 ~ 2027 Q1 | 全面回归测试 |
**优点**: 风险最低,依赖组件有官方支持
**缺点**: 滞后于 Spring Boot 4 的新特性
### 方案 B: 激进升级 (不推荐)
**时间线**: 立即
| 阶段 | 时间 | 动作 |
|---|---|---|
| 准备 | 1-2 周 | fork MyBatis Plus / Druid 源码,手动适配 Boot 4 |
| 升级 | 1 周 | 修改 POM + 代码适配 |
| 测试 | 2-4 周 | 全面回归测试 |
| 维护 | 持续 | 手动维护 fork 版本 |
**优点**: 最早享受 Spring Boot 4 新特性
**缺点**: 维护成本极高,上游变更需要手动同步
### 方案 C: 渐进升级 (折中方案)
**时间线**: 2026 Q3
1. **Phase 1**: 先升级到 Spring Boot 3.5.16 (最新 3.x)
2. **Phase 2**: 等待 MyBatis Plus 发布 Boot 4 Starter
3. **Phase 3**: 升级到 Spring Boot 4.0.x
**优点**: 风险适中,保持在 3.x 的最新状态
**缺点**: 需要两次升级
---
## 6. 升级收益
如果成功升级到 Spring Boot 4.0.6,可以获得:
| 收益 | 详情 |
|---|---|
| **Spring Framework 7** | 虚拟线程更好的支持、HTTP 接口增强 |
| **Tomcat 11** | 性能提升、Servlet 6.1 支持 |
| **Hibernate 7.2** | 更好的性能和稳定性 |
| **Flyway 11.14** | 更多数据库支持、性能优化 |
| **安全更新** | 最新的安全补丁 |
| **长期支持** | Spring Boot 4.x 将是未来 3 年的主线版本 |
| **Jackson 3** | 新的 JSON 处理能力(但需要迁移) |
| **虚拟线程** | 更好的并发性能Java 21+ |
---
## 7. 结论与建议
### 当前状态
- ✅ Spring Boot 3.5.14 升级已完成并验证通过
- ⚠️ Spring Boot 4.0 升级存在 **2 个关键阻塞项** (MyBatis Plus, Druid)
### 建议
1. **短期 (1-3个月)**: 保持在 Spring Boot 3.5.14,监控依赖组件适配进度
2. **中期 (3-6个月)**: 当 MyBatis Plus 和 Druid 发布 Boot 4 Starter 时,立即评估升级
3. **长期 (6-12个月)**: 执行 Spring Boot 4.0 升级
### 关键监控项
- [ ] [MyBatis Plus GitHub](https://github.com/baomidou/mybatis-plus) — 关注 `mybatis-plus-spring-boot4-starter` 发布
- [ ] [Druid GitHub](https://github.com/alibaba/druid) — 关注 `druid-spring-boot4-starter` 发布
- [ ] [Flowable GitHub](https://github.com/flowable/flowable-engine) — 关注 8.x 对 Spring Framework 7 的兼容性
- [ ] [Springdoc GitHub](https://github.com/springdoc/springdoc-openapi) — 关注对 Jackson 3 的支持
---
*报告生成时间: 2026-06-04 22:30*

View File

@@ -1,221 +0,0 @@
# Spring Boot 3.5.14 → 4.0.6 升级操作手册
> 📅 基于实际编译验证2026-06-04
> ⏱️ 预估工时2-3 天(不含回归测试)
---
## 一、必须修改的文件清单
### Phase 1: POM 版本升级
#### 1.1 父 POM (`pom.xml`)
```xml
<!-- 修改前 -->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.14</version>
</parent>
<!-- 修改后 -->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<version>4.0.6</version>
</parent>
```
同时需要在 `<properties>` 中确认:
```xml
<!-- Spring Boot 4.0.6 管理的版本 -->
<postgresql.version>42.7.10</postgresql.version> <!-- 原 42.7.4 -->
```
#### 1.2 `core-framework/pom.xml` — Starter 改名
```xml
<!-- 修改前 -->
<artifactId>spring-boot-starter-aop</artifactId>
<!-- 修改后 -->
<artifactId>spring-boot-starter-aspectj</artifactId>
```
**原因**: SB4 将 `spring-boot-starter-aop` 重命名为 `spring-boot-starter-aspectj`
#### 1.3 所有使用 `mybatis-plus-spring-boot3-starter` 的 POM7个模块
保持 `mybatis-plus-spring-boot3-starter:3.5.16` 不变,但需要添加 `spring-boot-jackson2` 依赖:
```xml
<!-- 在 core-framework/pom.xml 中添加 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-jackson2</artifactId>
</dependency>
```
---
### Phase 2: Java 代码修改
#### 2.1 Jackson 包路径迁移 (1个文件)
**文件**: `core-framework/src/main/java/com/core/framework/config/ApplicationConfig.java`
```java
// 修改前
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
// 修改后
import org.springframework.boot.jackson2.autoconfigure.Jackson2ObjectMapperBuilderCustomizer;
```
**原因**: SB4 将 Jackson 自动配置从 `spring-boot-autoconfigure` 拆分到独立的 `spring-boot-jackson2` 模块
#### 2.2 Spring Security 7.0 适配 (可能需要)
检查 `SecurityConfig.java` 中是否有 Spring Security 7.0 的废弃 API
- `requestMatchers()` 可能有新变化
- `@EnableMethodSecurity` 可能有参数变化
#### 2.3 Tomcat 11 适配 (低风险)
Tomcat 11 基于 Servlet 6.1,与 Jakarta EE 11 对齐。项目已迁移到 `jakarta.servlet`,理论上兼容。
---
### Phase 3: 配置文件变更
#### 3.1 可能的属性重命名
SB4 可能重命名了一些属性。使用 `spring-boot-properties-migrator` 检测:
```xml
<!-- 在 core-framework/pom.xml 中临时添加 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
```
启动后控制台会输出所有需要迁移的属性。
---
## 二、已知的 Breaking Changes
### 2.1 Starter 变化
| SB3 Starter | SB4 状态 | 替代方案 |
|---|---|---|
| `spring-boot-starter-aop` | ❌ 移除 | `spring-boot-starter-aspectj` |
| `spring-boot-starter-undertow` | ❌ 移除 | `spring-boot-starter-tomcat` |
| `spring-boot-starter-pulsar-reactive` | ❌ 移除 | 无替代 |
### 2.2 包路径变化
| 旧路径 | 新路径 |
|---|---|
| `o.s.b.autoconfigure.jackson.*` | `o.s.b.jackson2.autoconfigure.*` |
### 2.3 Spring Framework 7.0
- 基于 Jakarta EE 11
- 虚拟线程更好的支持
- HTTP 接口增强
- 部分废弃 API 移除
### 2.4 Spring Security 7.0
- 部分配置方式变化
- OAuth2 相关 API 调整
---
## 三、第三方依赖兼容性
| 依赖 | 当前版本 | SB4 兼容性 | 需要操作 |
|---|---|---|---|
| **MyBatis Plus** | 3.5.16 (boot3-starter) | ⚠️ 未验证 | 启动测试,可能需要手动适配 |
| **Druid** | 1.2.28 (boot3-starter) | ⚠️ 未验证 | 启动测试 |
| **Flowable** | 7.1.0 | ⚠️ 需验证 | 可能需要升级到 7.2+ |
| **Springdoc** | 2.8.6 | ✅ 应兼容 | 验证 OpenAPI 文档 |
| **LiteFlow** | 2.12.4.1 | ⚠️ 需验证 | 验证流程引擎 |
| **pagehelper** | 2.1.1 | ⚠️ 需验证 | 验证分页功能 |
| **fastjson2** | 2.0.61 | ⚠️ 注意 Jackson 3 冲突 | 排除 kotlin-reflect |
---
## 四、推荐执行步骤
### Step 1: 创建升级分支
```bash
git checkout -b upgrade/springboot-4.0 develop
```
### Step 2: 修改 POM 文件
按 Phase 1 修改所有 POM 文件
### Step 3: 修改 Java 代码
按 Phase 2 修改 Java 文件
### Step 4: 添加属性迁移器
临时添加 `spring-boot-properties-migrator` 依赖
### Step 5: 编译验证
```bash
mvn clean compile -DskipTests
```
### Step 6: 修复编译错误
根据编译错误逐一修复
### Step 7: 启动测试
```bash
java -jar healthlink-his-application/target/healthlink-his-application.jar --spring.profiles.active=dev --server.port=18082
```
### Step 8: 检查控制台输出
- 查看属性迁移警告
- 检查 Bean 创建错误
- 验证数据库连接
- 验证 Redis 连接
### Step 9: 回归测试
- Swagger UI / OpenAPI 文档
- 登录接口
- 核心业务接口
- 前端页面
### Step 10: 清理
- 移除 `spring-boot-properties-migrator` 依赖
- 提交代码
---
## 五、风险评估
| 风险项 | 概率 | 影响 | 缓解措施 |
|---|---|---|---|
| MyBatis Plus 不兼容 | 中 | 高 | 手动配置 DataSource + SqlSessionFactory |
| Druid 自动配置失败 | 中 | 中 | 手动配置 DruidDataSource |
| Flowable 表结构不兼容 | 低 | 高 | 设置 `databaseSchemaUpdate=true` |
| Jackson 3 与 fastjson2 冲突 | 低 | 中 | 排除 kotlin-reflect |
| Spring Security 7.0 配置变化 | 低 | 中 | 参考官方迁移指南 |
---
## 六、回退方案
如果升级失败,随时可以回退:
```bash
git checkout develop
git branch -D upgrade/springboot-4.0
```
---
*文档生成时间: 2026-06-04 23:15*

View File

@@ -1,423 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.15</version>
<relativePath />
</parent>
<groupId>com.openhis</groupId>
<artifactId>openhis-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>openhis-server</name>
<description>开放医疗管理系统</description>
<properties>
<openhis.version>0.0.1-SNAPSHOT</openhis.version>
<core.version>0.0.1-SNAPSHOT</core.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version> <!-- 将21改为17 -->
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<druid.version>1.2.27</druid.version>
<bitwalker.version>1.21</bitwalker.version>
<swagger.version>3.0.0</swagger.version>
<kaptcha.version>2.3.3</kaptcha.version>
<pagehelper.boot.version>1.4.7</pagehelper.boot.version>
<oshi.version>6.6.5</oshi.version>
<commons.io.version>2.13.0</commons.io.version>
<poi.version>4.1.2</poi.version>
<velocity.version>2.3</velocity.version>
<jwt.version>0.9.1</jwt.version>
<!-- override dependency version -->
<tomcat.version>9.0.96</tomcat.version>
<logback.version>1.2.13</logback.version>
<lombok.version>1.18.34</lombok.version> <!-- 替换为 -->
<mybatis-plus.version>3.5.5</mybatis-plus.version>
<flowable.version>6.8.0</flowable.version>
<postgresql.version>42.2.27</postgresql.version>
<aviator.version>5.3.3</aviator.version>
<swagger-annotations.version>1.5.21</swagger-annotations.version>
<fastjson2.version>2.0.58</fastjson2.version>
<swagger-models.version>1.6.2</swagger-models.version>
<pinyin4j.version>2.5.1</pinyin4j.version>
<liteflow-spring-boot-starter.version>2.12.4.1</liteflow-spring-boot-starter.version>
<hutool-all.version>5.3.8</hutool-all.version>
<bcprov-jdk15on.version>1.69</bcprov-jdk15on.version>
<kernel.version>7.1.2</kernel.version>
<itextpdf.version>5.5.12</itextpdf.version>
<itext-asian.version>5.2.0</itext-asian.version>
<mysql-connector-j.version>9.4.0</mysql-connector-j.version>
<jsr250.version>1.3.2</jsr250.version>
<jsqlparser.version>4.5</jsqlparser.version>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql-connector-j.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!-- pdf依赖-->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>${itextpdf.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>${itext-asian.version}</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool-all.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>${bcprov-jdk15on.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>${kernel.version}</version>
</dependency>
<!-- CORE-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-admin</artifactId>
<version>${project.version}</version>
</dependency>
<!-- liteflow-->
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>${liteflow-spring-boot-starter.version}</version>
</dependency>
<!-- 中文汉字转换为首字母拼音包 -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>${pinyin4j.version}</version>
</dependency>
<!-- 防止进入swagger页面报类型转换错误排除3.0.0中的引用手动增加1.6.2版本 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>${swagger-models.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<!-- Swagger API文档的注解 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger-annotations.version}</version>
</dependency>
<!--el表达式计算-->
<dependency>
<groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId>
<version>${aviator.version}</version>
</dependency>
<!-- 小程序应用 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-miniapp</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 应用 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-application</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 领域 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-domain</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 共通 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-common</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 定时任务-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-quartz</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-generator</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-framework</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 系统模块-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-system</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-common</artifactId>
<version>${core.version}</version>
</dependency>
<!-- flowable工作流-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-flowable</artifactId>
<version>${core.version}</version>
</dependency>
<!-- mybatis-plus 增强CRUD -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 阿里数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<!-- Swagger3依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- velocity代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!-- Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>pro.fessional</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<!-- 轻量级的业务流程引擎 -->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<!-- jsr250 annotations -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${jsr250.version}</version>
</dependency>
<!-- Kotlin 反射库,解决 KProperty 问题 -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.9.10</version>
</dependency>
<!-- JSQlParser - MyBatis Plus 3.5.8 使用4.5版本 -->
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>${jsqlparser.version}</version>
</dependency>
<!-- JSQlParser - MyBatis Plus 3.5.9+ 需要 4.6+ -->
</dependencies>
</dependencyManagement>
<modules>
<!-- <module>openhis-miniapp</module> -->
<module>openhis-application</module>
<module>openhis-domain</module>
<module>openhis-common</module>
<module>core-admin</module>
<module>core-framework</module>
<module>core-system</module>
<module>core-quartz</module>
<module>core-generator</module>
<module>core-common</module>
<module>core-flowable</module>
<!-- <module>openhis-einvoiceapp</module> -->
</modules>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<compilerArgs>
<arg>-parameters</arg>
<arg>-Xlint:unchecked</arg>
<arg>--add-modules</arg>
<arg>java.base</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>

View File

@@ -1,423 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.15</version>
<relativePath />
</parent>
<groupId>com.openhis</groupId>
<artifactId>openhis-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>openhis-server</name>
<description>开放医疗管理系统</description>
<properties>
<openhis.version>0.0.1-SNAPSHOT</openhis.version>
<core.version>0.0.1-SNAPSHOT</core.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version> <!-- 将21改为17 -->
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<druid.version>1.2.28</druid.version>
<bitwalker.version>1.21</bitwalker.version>
<swagger.version>3.0.0</swagger.version>
<kaptcha.version>2.3.3</kaptcha.version>
<pagehelper.boot.version>1.4.7</pagehelper.boot.version>
<oshi.version>6.10.0</oshi.version>
<commons.io.version>2.21.0</commons.io.version>
<poi.version>4.1.2</poi.version>
<velocity.version>2.3</velocity.version>
<jwt.version>0.9.1</jwt.version>
<!-- override dependency version -->
<tomcat.version>9.0.96</tomcat.version>
<logback.version>1.2.13</logback.version>
<lombok.version>1.18.34</lombok.version> <!-- 替换为 -->
<mybatis-plus.version>3.5.5</mybatis-plus.version>
<flowable.version>6.8.0</flowable.version>
<postgresql.version>42.7.4</postgresql.version>
<aviator.version>5.3.3</aviator.version>
<swagger-annotations.version>1.5.21</swagger-annotations.version>
<fastjson2.version>2.0.61</fastjson2.version>
<swagger-models.version>1.6.2</swagger-models.version>
<pinyin4j.version>2.5.1</pinyin4j.version>
<liteflow-spring-boot-starter.version>2.12.4.1</liteflow-spring-boot-starter.version>
<hutool-all.version>5.8.35</hutool-all.version>
<bcprov-jdk18on.version>1.80</bcprov-jdk18on.version>
<kernel.version>7.1.2</kernel.version>
<itextpdf.version>5.5.13.4</itextpdf.version>
<itext-asian.version>5.2.0</itext-asian.version>
<mysql-connector-j.version>9.4.0</mysql-connector-j.version>
<jsr250.version>1.3.2</jsr250.version>
<jsqlparser.version>4.5</jsqlparser.version>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql-connector-j.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!-- pdf依赖-->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>${itextpdf.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>${itext-asian.version}</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool-all.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bcprov-jdk18on.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>${kernel.version}</version>
</dependency>
<!-- CORE-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-admin</artifactId>
<version>${project.version}</version>
</dependency>
<!-- liteflow-->
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>${liteflow-spring-boot-starter.version}</version>
</dependency>
<!-- 中文汉字转换为首字母拼音包 -->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>${pinyin4j.version}</version>
</dependency>
<!-- 防止进入swagger页面报类型转换错误排除3.0.0中的引用手动增加1.6.2版本 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>${swagger-models.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<!-- Swagger API文档的注解 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger-annotations.version}</version>
</dependency>
<!--el表达式计算-->
<dependency>
<groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId>
<version>${aviator.version}</version>
</dependency>
<!-- 小程序应用 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-miniapp</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 应用 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-application</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 领域 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-domain</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 共通 -->
<dependency>
<groupId>com.openhis</groupId>
<artifactId>openhis-common</artifactId>
<version>${openhis.version}</version>
</dependency>
<!-- 定时任务-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-quartz</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-generator</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-framework</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 系统模块-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-system</artifactId>
<version>${core.version}</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-common</artifactId>
<version>${core.version}</version>
</dependency>
<!-- flowable工作流-->
<dependency>
<groupId>com.core</groupId>
<artifactId>core-flowable</artifactId>
<version>${core.version}</version>
</dependency>
<!-- mybatis-plus 增强CRUD -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 阿里数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<!-- Swagger3依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- velocity代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!-- Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>pro.fessional</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<!-- 轻量级的业务流程引擎 -->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<!-- jsr250 annotations -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${jsr250.version}</version>
</dependency>
<!-- Kotlin 反射库,解决 KProperty 问题 -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>1.9.10</version>
</dependency>
<!-- JSQlParser - MyBatis Plus 3.5.8 使用4.5版本 -->
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>${jsqlparser.version}</version>
</dependency>
<!-- JSQlParser - MyBatis Plus 3.5.9+ 需要 4.6+ -->
</dependencies>
</dependencyManagement>
<modules>
<!-- <module>openhis-miniapp</module> -->
<module>openhis-application</module>
<module>openhis-domain</module>
<module>openhis-common</module>
<module>core-admin</module>
<module>core-framework</module>
<module>core-system</module>
<module>core-quartz</module>
<module>core-generator</module>
<module>core-common</module>
<module>core-flowable</module>
<!-- <module>openhis-einvoiceapp</module> -->
</modules>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<compilerArgs>
<arg>-parameters</arg>
<arg>-Xlint:unchecked</arg>
<arg>--add-modules</arg>
<arg>java.base</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>