From 328d450a743b4292fab10bdcd1b21a5150dbbc79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Fri, 5 Jun 2026 09:20:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8D=87=E7=BA=A7=20JDK=2025=20?= =?UTF-8?q?=E5=85=A8=E9=93=BE=E8=B7=AF=20-=20=E8=A7=A3=E5=86=B3=20javax.xm?= =?UTF-8?q?l.bind.DatatypeConverter=20=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - jjwt: 0.9.1 → 0.12.6 (移除 javax.xml.bind 依赖) - Lombok: 1.18.34 → 1.18.38 (支持 JDK 25 内部 API) - maven-compiler-plugin: 3.11.0 → 3.15.0 (ASM 支持 JDK 25) - java.version: 17 → 25 (class version 69) - TokenService: 适配 jjwt 0.12.x 新 API - annotationProcessorPaths: 硬编码版本改为 ${lombok.version} 验证: 编译通过 / 打包成功 / JDK 25 运行启动正常 / JWT 登录接口正常 --- openhis-server-new/core-common/pom.xml | 20 ++++++++++++----- .../framework/web/service/TokenService.java | 17 ++++++++++---- .../openhis-application/pom.xml | 6 ++--- openhis-server-new/openhis-domain/pom.xml | 4 ++-- openhis-server-new/openhis-miniapp/pom.xml | 4 ++-- openhis-server-new/pom.xml | 22 ++++++++++++++----- 6 files changed, 52 insertions(+), 21 deletions(-) diff --git a/openhis-server-new/core-common/pom.xml b/openhis-server-new/core-common/pom.xml index baf4d8166..632f9dc7f 100755 --- a/openhis-server-new/core-common/pom.xml +++ b/openhis-server-new/core-common/pom.xml @@ -21,10 +21,10 @@ org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + ${maven-compiler-plugin.version} - 17 - 17 + ${java.version} + ${java.version} UTF-8 -parameters @@ -35,7 +35,7 @@ org.projectlombok lombok - 1.18.34 + ${lombok.version} @@ -142,7 +142,17 @@ io.jsonwebtoken - jjwt + jjwt-api + + + io.jsonwebtoken + jjwt-impl + runtime + + + io.jsonwebtoken + jjwt-jackson + runtime diff --git a/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java b/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java index f2d4ae845..bdcac8704 100755 --- a/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java +++ b/openhis-server-new/core-framework/src/main/java/com/core/framework/web/service/TokenService.java @@ -11,8 +11,10 @@ import com.core.common.utils.ip.IpUtils; import com.core.common.utils.uuid.IdUtils; import eu.bitwalker.useragentutils.UserAgent; import io.jsonwebtoken.Claims; +import io.jsonwebtoken.security.Keys; import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; +import javax.crypto.SecretKey; +import java.nio.charset.StandardCharsets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -153,9 +155,16 @@ public class TokenService { * @param claims 数据声明 * @return 令牌 */ + private SecretKey getSigningKey() { + byte[] keyBytes = secret.getBytes(StandardCharsets.UTF_8); + // Pad to 64 bytes for HS512 minimum key requirement + byte[] paddedKey = new byte[64]; + System.arraycopy(keyBytes, 0, paddedKey, 0, Math.min(keyBytes.length, 64)); + return Keys.hmacShaKeyFor(paddedKey); + } + private String createToken(Map claims) { - String token = Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact(); - return token; + return Jwts.builder().claims(claims).signWith(getSigningKey()).compact(); } /** @@ -165,7 +174,7 @@ public class TokenService { * @return 数据声明 */ private Claims parseToken(String token) { - return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody(); + return Jwts.parser().verifyWith(getSigningKey()).build().parseSignedClaims(token).getPayload(); } /** diff --git a/openhis-server-new/openhis-application/pom.xml b/openhis-server-new/openhis-application/pom.xml index a46427ea6..be6d31dba 100755 --- a/openhis-server-new/openhis-application/pom.xml +++ b/openhis-server-new/openhis-application/pom.xml @@ -117,10 +117,10 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.15.0 - 17 - 17 + ${java.version} + ${java.version} UTF-8 diff --git a/openhis-server-new/openhis-domain/pom.xml b/openhis-server-new/openhis-domain/pom.xml index b616754f4..115c9f39b 100755 --- a/openhis-server-new/openhis-domain/pom.xml +++ b/openhis-server-new/openhis-domain/pom.xml @@ -21,8 +21,8 @@ org.apache.maven.plugins maven-compiler-plugin - 17 - 17 + ${java.version} + ${java.version} UTF-8 diff --git a/openhis-server-new/openhis-miniapp/pom.xml b/openhis-server-new/openhis-miniapp/pom.xml index 92c2c0d77..4d111211f 100755 --- a/openhis-server-new/openhis-miniapp/pom.xml +++ b/openhis-server-new/openhis-miniapp/pom.xml @@ -56,8 +56,8 @@ org.apache.maven.plugins maven-compiler-plugin - 17 - 17 + ${java.version} + ${java.version} diff --git a/openhis-server-new/pom.xml b/openhis-server-new/pom.xml index bf8bc3020..ce15596f2 100755 --- a/openhis-server-new/pom.xml +++ b/openhis-server-new/pom.xml @@ -23,8 +23,8 @@ 0.0.1-SNAPSHOT UTF-8 UTF-8 - 17 - 3.11.0 + 25 + 3.15.0 3.1.1 1.2.28 1.21 @@ -35,9 +35,9 @@ 2.21.0 4.1.2 2.3 - 0.9.1 + 0.12.6 - 1.18.34 + 1.18.38 3.5.16 7.1.0 42.7.10 @@ -296,9 +296,21 @@ io.jsonwebtoken - jjwt + jjwt-api ${jwt.version} + + io.jsonwebtoken + jjwt-impl + ${jwt.version} + runtime + + + io.jsonwebtoken + jjwt-jackson + ${jwt.version} + runtime +