美文网首页
Maven之SSL证书错误

Maven之SSL证书错误

作者: 狄仁杰666 | 来源:发表于2020-08-12 15:49 被阅读0次

    前言

    我们在构建Maven项目时,经常会遇到如下报错:

    ...
     sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    ...
    

    该错误一般会发生在2个过程:

    1. 下载依赖阶段;
    2. 发布阶段;

    如何解决该报错?

    1. 当知道目标站点的证书;

    • 在项目中导入目标站点证书;
    • 然后执行命令时使用:
    mvn clean deploy -B -Djavax.net.ssl.trustStore=./src/main/resources/certs/sonatype.cer -Djavax.net.ssl.trustStorePassword=changeit
    

    2. 当只知道目标站点;

    • 在浏览器中打开目标站点,如:
      https://oss.sonatype.org/content/repositories/snapshots/
    • 在浏览器导出站点证书:


      浏览器导出证书1
      浏览器导出证书2
      浏览器导出证书3
      浏览器导出证书4
      浏览器导出证书5
      • 将证书放到项目内,路径如:./src/main/resources/certs/sonatype.cer
      • 然后执行命令时使用:
    mvn clean deploy -B -Djavax.net.ssl.trustStore=./src/main/resources/certs/sonatype.cer -Djavax.net.ssl.trustStorePassword=changeit
    

    3. 强制忽略所有证书检查;

    方法1:运行命令暂时忽略;
    mvn clean deploy -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
    
    方法2:IDEA中配置忽略命令;
    IDEA中配置

    然后点击IDEA右上角,maven中,lifecycle下的不同按钮,即可使用忽略ssl证书检查后的maven生命周期,也即maven命令!

    4. 最后一招,不一定对所有站点适用;

    在电脑环境变量中设置环境变量:
    NODE_TLS_REJECT_UNAUTHORIZED=0


    设置环境变量

    然后重启命令行窗口,重新执行maven命令。

    网上有人说可以用工具生成证书,我还没试过,以后有试的话,相关知识再补上。

    相关文章

      网友评论

          本文标题:Maven之SSL证书错误

          本文链接:https://www.haomeiwen.com/subject/byxmdktx.html