Maven仓库sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException。

3

我有一个pom.xml片段,尝试解决fitbit依赖关系:

<repositories>
        <repository>
            <name>FitBit GitHub Repo</name>
            <id>fitbit4j</id>
            <url>https://nexus.vanntett.net/content/repositories/fitbit/</url>
        </repository>
    </repositories>

我正在遇到以下错误:
Failed to collect dependencies at com.fitbit:fitbit4j:jar:1.0.26: Failed to read artifact descriptor for com.fitbit:fitbit4j:jar:1.0.26: Could not transfer artifact com.fitbit:fitbit4j:pom:1.0.26 from/to fitbit4j (https://nexus.vanntett.net/content/repositories/fitbit/): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]

我在eclipse中使用了以下参数: -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true 但是没有起作用。 请帮忙解决。 谢谢。

1
尝试使用常规的非安全URL http://nexus........ - Reimeus
管理员删除了我的回答,但自从 Maven 3.9.0 版本以来,SSL 不安全开关是 -Daether.connector.https.securityMode=insecure,因为他们将传输方式从 wagon 改变了。 - undefined
3个回答

6

您需要将证书输入Java cacert文件中,请确保选择的是层次结构中的根CA证书而不是最后一个证书。

此链接展示了最佳方法。

步骤1:下载证书 步骤2:存储在cacert文件中

就这样!您的问题解决了。


2

看起来你的JDK没有存储从仓库下载的SSL证书的CA根证书。

你可以在这里找到一篇不错的文章,介绍如何下载这些证书并将其添加到你的Java JDK中。


0

检查从JDK下的JRE运行keytool -import..命令是否存在。

1.以管理员身份打开cmd...

  1. 进入路径:C:\Program Files\Java\jdk1.8.0_65\bin>

  2. 运行以下命令。

    keytool -import -noprompt -trustcacerts -alias certPen -file D:\certificates\ca-cert.pem -keystore "C:\Program Files\Java\jdk1.8.0_60\jre\lib\security\cacerts"

如果遇到文件未找到的问题,请右键单击cacerts → 选择属性 → 选择安全选项卡 → 允许所有组和用户名的所有权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接