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

OpenJDK 9搭配gradlew出现SSL错误,CI构建失败求临时方案

临时解决OpenJDK 9 CI构建SSL证书异常的办法

我之前也碰到过一模一样的OpenJDK 9 SSL信任库问题,给你几个快速的临时方案,应该能让你的CI先跑起来:

  • 直接在启动命令指定系统信任库
    不用纠结软链接的问题,直接在Java启动命令里添加JVM参数,强制使用系统的cacerts文件:

    java -Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts -Djavax.net.ssl.trustStorePassword=changeit YourMainClass
    

    注:changeit是绝大多数系统默认的信任库密码,如果你的系统修改过这个密码,记得替换成对应的值。

  • 复制系统cacerts覆盖JDK默认文件
    有些OpenJDK 9版本默认的cacerts是空文件,软链接可能因为权限或JDK读取机制的问题不生效,直接复制文件更稳妥:

    sudo cp /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-9-openjdk-amd64/lib/security/cacerts
    sudo chmod 644 /usr/lib/jvm/java-9-openjdk-amd64/lib/security/cacerts
    

    执行完这两个命令后,重启CI构建任务应该就能正常读取证书了。

  • CI脚本中生成临时信任库
    如果你的CI环境是临时容器或者不允许修改JDK目录,可以在构建脚本里临时生成一个信任库:

    # 从系统信任库复制出临时版本
    keytool -importkeystore -srckeystore /etc/ssl/certs/java/cacerts -destkeystore ./temp_cacerts -srcstorepass changeit -deststorepass changeit
    # 使用临时信任库启动程序
    java -Djavax.net.ssl.trustStore=./temp_cacerts -Djavax.net.ssl.trustStorePassword=changeit YourMainClass
    

另外提醒下,JDK 9已经是停止支持的版本了,长期来看还是建议升级到LTS版本(比如OpenJDK 11或17),既能解决这类证书问题,也能获得安全更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:35:33