gpt4 book ai didi

java - Maven 构建失败 - PKIX 路径验证失败 : java. security.cert.CertPathValidatorException:有效性检查失败 - Mac

转载 作者:行者123 更新时间:2023-12-01 23:20:11 42 4
gpt4 key购买 nike

我正在尝试在 mac 机器上使用 maven 构建代码,但它失败并显示以下错误消息

PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed: NotAfter: Thu Apr 01 00:59:59 BST 2021

尝试卸载并安装 JDK,但这没有帮助。我还尝试检查/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/jre/lib/security 中的证书文件,但没有与文件相关的证书。任何输入将不胜感激

最佳答案

validity check failed: NotAfter: Thu Apr 01 00:59:59 BST 2021

很明显:证书已过期,因为今天是 2021 年 4 月 1 日之后。
解决问题:

  • 要么要求证书发布者/所有者提供一个带有有效日期的新证书。
  • 或者以忽略证书有效期的方式运行 Maven。

对于后者(例如以干净的包为目标)你可以这样做:

mvn clean package -Dmaven.wagon.http.ssl.ignore.validity.dates=true

如果你想完全忽略所有 ssl 验证,你可以设置所有这些标志:

mvn clean package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true

为了不在执行的每个 mvn 命令中重复标志,您还可以设置 MAVEN_OPTS env 变量,例如:

MAVEN_OPTS="-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true"

编辑

帮助诊断问题:

  1. 使用 openssl(Linux 或 Mac)查看证书的内容,例如:

    openssl x509 -in foo.crt -noout -text

仅查看日期 (@dave_thompson_085):

openssl x509 -in foo.crt -noout -dates

在 Windows 上,不需要 openssl,因为 crt 的文件关联应该有帮助。

  1. 使 maven 以详细调试方式运行(-X 标志)

    mvn -X 清理包

  2. 使 maven 运行时启用 SSL 日志:

mvn -Djavax.net.debug=ssl 清理包

你甚至可以使用所有这些标志:

mvn -X \
-Djavax.net.debug=ssl \
-Dmaven.wagon.http.ssl.insecure=true \
-Dmaven.wagon.http.ssl.allowall=true \
-Dmaven.wagon.http.ssl.ignore.validity.dates=true \
clean package

关于java - Maven 构建失败 - PKIX 路径验证失败 : java. security.cert.CertPathValidatorException:有效性检查失败 - Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68199459/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com