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

OSGi R7应用升级PostgreSQL至15时的驱动兼容问题求助

OSGi R7 适配PostgreSQL 15 连接池初始化问题解决方案

问题核心

升级PostgreSQL至15版本后,Hikari连接池初始化失败,根源为org.postgresql.jdbc42 bundle无法找到javax.security.sasl.SaslException类,本质是旧驱动版本不兼容PostgreSQL 15,且OSGi环境缺少必要的包导出配置。

具体解决步骤

  • 升级PostgreSQL驱动版本
    原42.2.5版本驱动发布时间早于PostgreSQL 15,不具备兼容性。需升级至org.postgresql:postgresql:42.6.0及以上版本(该版本开始全面支持PostgreSQL 15)。注意:新版本驱动的bundle标识已变更为org.postgresql,不再使用org.postgresql.jdbc42,需在OSGi环境中重新安装该bundle。

  • 解决javax.security.sasl依赖缺失问题
    OSGi R7默认未导出javax.security.sasl包,需手动配置:

    • 若使用Equinox框架,修改config.ini添加org.osgi.framework.system.packages.extra=javax.security.sasl;
    • 若使用Felix框架,通过启动参数添加-Dorg.osgi.framework.system.packages.extra=javax.security.sasl,或在框架配置中配置系统包导出规则。
  • 确保HikariCP与驱动版本兼容
    需使用与新驱动匹配的HikariCP版本,建议选择4.0.3及以上版本。同时检查OSGi中HikariCP bundle的依赖配置,确保其能正常访问PostgreSQL驱动类及相关依赖包。

  • 验证bundle依赖配置
    确认新版本PostgreSQL驱动bundle的Import-Package已声明对javax.security.sasl的依赖,若为自定义构建bundle,需在bnd.bnd文件中明确配置Import-Package包含该包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 05:47:00