You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java11迁移至17、Spring Boot3.0/Spring Web6时配置绑定失败求助

Java 11 迁移至 Java 17 + Spring Boot 3.0 启动异常解决

问题现象

应用启动失败,核心报错:

无法将spring.datasource.oracleucp.ssl-context.provider属性绑定到java.security.Provider
原因:java.lang.NoSuchMethodException: java.security.Provider.<init>()

问题根因

Java 17 移除了java.security.Provider的无参构造方法,而 Spring Boot 3.0 的配置属性绑定逻辑会尝试通过无参构造实例化该类,导致绑定失败;同时 Spring Boot 3.0 对 Oracle UCP 数据源的配置属性绑定规则做了调整,原配置方式不再兼容。

解决方案

修改应用配置,替换原spring.datasource.oracleucp.ssl-context.provider配置:

  • 通过spring.datasource.oracleucp.connection-properties传递 SSL 相关 JDBC 属性,示例:
    spring.datasource.oracleucp.connection-properties=javax.net.ssl.SSLContextProvider=com.sun.net.ssl.internal.ssl.Provider
    
  • 若需指定 SSL 上下文实现,直接配置对应上下文类名到适配的属性项,避免直接绑定java.security.Provider类型。

内容的提问来源于stack exchange,提问作者AnilkumarReddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:05:14