Commit d7288b8951c280acc1f84fb562a6e51d6eb3361d
1 parent
b78102a5
build(deps): 升级兼容依赖并交由 Spring Boot 管理 H2
对齐 Boot、Cloud 通用依赖,保留 JDK8、JDK17 和 Spring Boot 4 的平台差异。 修正依赖升级暴露的测试数据与时间精度问题,适配 Vert.x 5 API。 按运行时验证保留必要的 Bouncy Castle、OpenTelemetry 和 Kotlin 依赖约束。
Showing
5 changed files
with
33 additions
and
31 deletions
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); | ... | ... |