Commit d7288b8951c280acc1f84fb562a6e51d6eb3361d

Authored by YunaiV
1 parent b78102a5

build(deps): 升级兼容依赖并交由 Spring Boot 管理 H2

对齐 Boot、Cloud 通用依赖,保留 JDK8、JDK17 和 Spring Boot 4 的平台差异。
修正依赖升级暴露的测试数据与时间精度问题,适配 Vert.x 5 API。
按运行时验证保留必要的 Bouncy Castle、OpenTelemetry 和 Kotlin 依赖约束。
yudao-dependencies/pom.xml
... ... @@ -27,13 +27,13 @@
27 27 <mybatis.version>3.5.19</mybatis.version>
28 28 <mybatis-plus.version>3.5.17</mybatis-plus.version>
29 29 <mybatis-plus-join.version>1.5.9</mybatis-plus-join.version>
30   - <dynamic-datasource.version>4.5.0</dynamic-datasource.version>
  30 + <dynamic-datasource.version>4.6.0</dynamic-datasource.version>
31 31 <easy-trans.version>3.1.8</easy-trans.version>
32   - <redisson.version>4.7.0</redisson.version>
  32 + <redisson.version>4.8.0</redisson.version>
33 33 <dm8.jdbc.version>8.1.3.140</dm8.jdbc.version>
34 34 <kingbase.jdbc.version>9.0.1.jre7</kingbase.jdbc.version>
35   - <opengauss.jdbc.version>7.0.0-RC3-og</opengauss.jdbc.version>
36   - <taos.version>3.9.2</taos.version>
  35 + <opengauss.jdbc.version>7.0.0-og</opengauss.jdbc.version>
  36 + <taos.version>3.10.0</taos.version>
37 37 <iotdb.version>2.0.8</iotdb.version> <!-- TODO 特殊:暂不升级 2.0.10/2.0.11,其 TablePreparedStatement.execute 不设置 ResultSet,导致 Mapper 的 SELECT 为空、COUNT 为 null -->
38 38 <!-- 消息队列 -->
39 39 <rocketmq-spring.version>2.3.6</rocketmq-spring.version>
... ... @@ -42,50 +42,49 @@
42 42 <!-- 监控相关 -->
43 43 <skywalking.version>9.7.0</skywalking.version>
44 44 <spring-boot-admin.version>3.5.9</spring-boot-admin.version>
45   - <opentelemetry.version>1.66.0</opentelemetry.version>
  45 + <opentelemetry.version>1.67.0</opentelemetry.version>
46 46 <!-- Test 测试相关 -->
47   - <h2.version>2.3.232</h2.version>
48 47 <podam.version>8.0.2.RELEASE</podam.version>
49   - <jedis-mock.version>1.1.19</jedis-mock.version>
  48 + <jedis-mock.version>1.1.20</jedis-mock.version>
50 49 <mockito-inline.version>5.2.0</mockito-inline.version>
51 50 <!-- Bpm 工作流相关 -->
52 51 <flowable.version>8.0.0</flowable.version>
53 52 <!-- 工具类相关 -->
54   - <anji-plus-captcha.version>1.4.0</anji-plus-captcha.version>
  53 + <anji-plus-captcha.version>2.0.0</anji-plus-captcha.version>
55 54 <jsoup.version>1.23.2</jsoup.version>
56 55 <sensitive-word.version>0.29.5</sensitive-word.version>
57 56 <pinyin4j.version>2.5.1</pinyin4j.version>
58 57 <lombok.version>1.18.48</lombok.version>
59 58 <mapstruct.version>1.7.0.Beta2</mapstruct.version>
60   - <hutool-5.version>5.8.47</hutool-5.version>
  59 + <hutool-5.version>5.8.48</hutool-5.version>
61 60 <hutool-6.version>6.0.0-M22</hutool-6.version>
62 61 <fesod.version>2.1.0-incubating</fesod.version>
63 62 <aviator.version>5.4.4</aviator.version>
64 63 <velocity.version>2.4.1</velocity.version>
65   - <fastjson2.version>2.0.65</fastjson2.version>
66   - <guava.version>33.7.1-jre</guava.version>
  64 + <fastjson2.version>2.0.66</fastjson2.version>
  65 + <guava.version>33.7.2-jre</guava.version>
67 66 <transmittable-thread-local.version>2.14.5</transmittable-thread-local.version>
68 67 <commons-net.version>3.13.0</commons-net.version>
69   - <commons-lang3.version>3.20.0</commons-lang3.version>
70   - <jsch.version>2.28.7</jsch.version>
  68 + <commons-lang3.version>3.21.0</commons-lang3.version>
  69 + <jsch.version>2.28.8</jsch.version>
71 70 <tika-core.version>3.3.1</tika-core.version>
72 71 <ip2region.version>2.7.0</ip2region.version>
73 72 <bizlog-sdk.version>3.0.6</bizlog-sdk.version>
74   - <netty.version>4.2.18.Final</netty.version>
  73 + <netty.version>4.2.19.Final</netty.version>
75 74 <mqtt.version>1.2.5</mqtt.version>
76 75 <vertx.version>4.5.26</vertx.version>
77 76 <okhttp.version>4.12.0</okhttp.version>
78 77 <californium.version>3.14.0</californium.version>
79 78 <j2mod.version>3.4.0</j2mod.version>
80 79 <!-- 三方云服务相关 -->
81   - <awssdk.version>2.55.5</awssdk.version>
  80 + <awssdk.version>2.57.3</awssdk.version>
82 81 <justauth.version>1.16.7</justauth.version>
83 82 <justauth-starter.version>1.4.0</justauth-starter.version>
84 83 <jimureport.version>2.5.4</jimureport.version>
85 84 <jimubi.version>2.5.4</jimubi.version>
86   - <weixin-java.version>4.8.6-20260919.232150</weixin-java.version>
87   - <bouncycastle.version>1.80</bouncycastle.version>
88   - <alipay-sdk-java.version>4.40.1014.ALL</alipay-sdk-java.version>
  85 + <weixin-java.version>4.8.6-20261010.094603</weixin-java.version>
  86 + <bouncycastle.version>1.85</bouncycastle.version>
  87 + <alipay-sdk-java.version>4.40.1044.ALL</alipay-sdk-java.version>
89 88 </properties>
90 89  
91 90 <dependencyManagement>
... ... @@ -99,6 +98,13 @@
99 98 <scope>import</scope>
100 99 </dependency>
101 100 <dependency>
  101 + <groupId>io.opentelemetry</groupId>
  102 + <artifactId>opentelemetry-bom</artifactId>
  103 + <version>${opentelemetry.version}</version>
  104 + <type>pom</type>
  105 + <scope>import</scope>
  106 + </dependency>
  107 + <dependency>
102 108 <groupId>org.springframework.boot</groupId>
103 109 <artifactId>spring-boot-dependencies</artifactId>
104 110 <version>${spring.boot.version}</version>
... ... @@ -278,7 +284,7 @@
278 284 </exclusion>
279 285 <exclusion>
280 286 <groupId>org.redisson</groupId>
281   - <!-- Redisson 4.7.x 默认依赖 redisson-spring-data-41(适配 Spring Data Redis 4.x),排除后使用下方的 spring-data-35 适配 Spring Boot 3.5 -->
  287 + <!-- Redisson 4.x 默认依赖 redisson-spring-data-41(适配 Spring Data Redis 4.x),排除后使用下方的 spring-data-35 适配 Spring Boot 3.5 -->
282 288 <artifactId>redisson-spring-data-41</artifactId>
283 289 </exclusion>
284 290 </exclusions>
... ... @@ -439,12 +445,6 @@
439 445 </dependency>
440 446  
441 447 <dependency>
442   - <groupId>com.h2database</groupId>
443   - <artifactId>h2</artifactId>
444   - <version>${h2.version}</version>
445   - </dependency>
446   -
447   - <dependency>
448 448 <groupId>com.github.fppt</groupId> <!-- 单元测试,我们采用内嵌的 Redis 数据库 -->
449 449 <artifactId>jedis-mock</artifactId>
450 450 <version>${jedis-mock.version}</version>
... ... @@ -707,7 +707,7 @@
707 707 </exclusions>
708 708 </dependency>
709 709  
710   - <!-- 锁定 weixin-java 传递依赖,避免 Maven 版本范围自动升级到 1.80.2 后 Fat Jar 启动失败。
  710 + <!-- 对齐 Tika 与 WxJava 的 BouncyCastle 依赖,避免 bcprov 与 bcpkix/bcutil 版本不一致。
711 711 反馈:https://t.zsxq.com/pCVBo -->
712 712 <dependency>
713 713 <groupId>org.bouncycastle</groupId>
... ...
yudao-module-infra/src/test/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImplTest.java
... ... @@ -211,7 +211,8 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
211 211 CodegenUpdateReqVO updateReqVO = randomPojo(CodegenUpdateReqVO.class,
212 212 o -> o.getTable().setId(table.getId())
213 213 .setTemplateType(CodegenTemplateTypeEnum.ONE.getType())
214   - .setScene(CodegenSceneEnum.ADMIN.getScene()));
  214 + .setScene(CodegenSceneEnum.ADMIN.getScene())
  215 + .setModuleName("infra").setBusinessName("codegen").setClassName("CodegenTable"));
215 216 CodegenColumnSaveReqVO columnVO01 = randomPojo(CodegenColumnSaveReqVO.class,
216 217 o -> o.setId(column01.getId()).setTableId(table.getId()));
217 218 CodegenColumnSaveReqVO columnVO02 = randomPojo(CodegenColumnSaveReqVO.class,
... ...
yudao-module-oa/src/test/java/cn/iocoder/yudao/module/oa/service/vehicle/OaVehicleReturnServiceImplTest.java
... ... @@ -64,7 +64,8 @@ public class OaVehicleReturnServiceImplTest extends BaseDbUnitTest {
64 64 // mock 数据:实际提前出车,不能用计划时间代替事实
65 65 OaVehicleApplyDO apply = randomVehicleApplyDO();
66 66 OaVehicleReturnSaveReqVO reqVO = toBean(randomVehicleReturnDO(), OaVehicleReturnSaveReqVO.class)
67   - .setActualStartTime(apply.getStartTime().minusHours(2)).setActualReturnTime(apply.getStartTime().minusHours(1))
  67 + .setActualStartTime(apply.getStartTime().minusHours(2).withNano(0))
  68 + .setActualReturnTime(apply.getStartTime().minusHours(1).withNano(0))
68 69 .setStartLocation("客户现场").setReason("现场支持").setPassenger("李四");
69 70 // mock 方法
70 71 when(vehicleApplyService.validateVehicleApplyExists(20L)).thenReturn(apply);
... ...
yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImplTest.java
... ... @@ -223,7 +223,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
223 223 String clientId = randomString();
224 224 String scope = randomString();
225 225 Boolean approved = randomBoolean();
226   - LocalDateTime expireTime = LocalDateTime.ofInstant(randomDay(1, 30).toInstant(), ZoneId.systemDefault());
  226 + LocalDateTime expireTime = LocalDateTime.ofInstant(randomDay(1, 30).toInstant(), ZoneId.systemDefault()).withNano(0);
227 227 // mock 方法
228 228  
229 229 // 调用
... ... @@ -251,7 +251,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
251 251 String clientId = approve.getClientId();
252 252 String scope = approve.getScope();
253 253 Boolean approved = randomBoolean();
254   - LocalDateTime expireTime = LocalDateTime.ofInstant(randomDay(1, 30).toInstant(), ZoneId.systemDefault());
  254 + LocalDateTime expireTime = LocalDateTime.ofInstant(randomDay(1, 30).toInstant(), ZoneId.systemDefault()).withNano(0);
255 255 // mock 方法
256 256  
257 257 // 调用
... ...
yudao-module-system/src/test/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImplTest.java
... ... @@ -311,7 +311,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
311 311 // 测试 userType 不匹配
312 312 oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setClientId("it_client")));
313 313 // 测试 expireTime 不匹配
314   - oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setExpiresTime(LocalDateTimeUtil.now())));
  314 + oauth2AccessTokenMapper.insert(cloneIgnoreId(dbAccessToken, o -> o.setExpiresTime(LocalDateTimeUtil.now().minusDays(1))));
315 315 // 准备参数
316 316 OAuth2AccessTokenPageReqVO reqVO = new OAuth2AccessTokenPageReqVO();
317 317 reqVO.setUserId(10L);
... ...