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

Unix服务器Gradle初始化失败:无法下载MarkLogic ml-data-hub.jar

解决Gradle下载MarkLogic Jar包的PKIX证书错误

针对你在Unix服务器上初始化Gradle构建时遇到的PKIX路径构建失败问题,给出以下排查和解决步骤:

  • 检查Java证书信任库
    Unix服务器上的JRE默认信任库(cacerts)可能缺少MarkLogic仓库的SSL证书,导致无法验证HTTPS连接。

    1. 先查看当前信任库是否包含目标证书:
      keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts
      
      默认密码为changeit,搜索是否有MarkLogic仓库相关的证书条目。
    2. 如果没有,先导出仓库的SSL证书(以官方仓库repo.marklogic.com为例):
      openssl s_client -connect repo.marklogic.com:443 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > marklogic-repo.crt
      
    3. 将导出的证书导入到Java信任库:
      keytool -import -trustcacerts -alias marklogic-repo -file marklogic-repo.crt -keystore $JAVA_HOME/jre/lib/security/cacerts
      
      输入密码并确认导入操作。
  • 排查代理配置影响
    如果服务器通过代理访问外部仓库,代理的SSL证书可能未被信任:

    1. 检查Gradle代理配置,查看项目根目录的gradle.properties或用户目录下的~/.gradle/gradle.properties,是否存在类似配置:
      systemProp.http.proxyHost=your-proxy-host
      systemProp.http.proxyPort=your-proxy-port
      systemProp.https.proxyHost=your-proxy-host
      systemProp.https.proxyPort=your-proxy-port
      
    2. 若存在代理,需将代理的SSL证书导入到Java信任库,确保Gradle能通过代理正常验证仓库的HTTPS连接。
  • 临时测试方案(生产环境禁用)
    如果只是需要快速验证构建流程,可临时跳过SSL校验:

    1. 在构建命令中指定自定义信任库或跳过校验:
      ./gradlew build -Djavax.net.ssl.trustStore=/path/to/your/custom/cacerts -Djavax.net.ssl.trustStorePassword=changeit
      
    2. 或在build.gradle的仓库配置中允许不安全协议(不推荐生产环境):
      repositories {
          maven {
              url "https://repo.marklogic.com/maven2/"
              allowInsecureProtocol = true
          }
      }
      
  • 确认依赖和仓库地址正确性
    检查build.gradle中的依赖坐标是否正确:你提到的com.marklogix:ml-data-hub:5.4.2可能是笔误,官方依赖坐标应为com.marklogic:ml-data-hub:5.4.2,同时确保仓库地址指向官方的https://repo.marklogic.com/maven2/。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 19:46:04