Maven:访问自签名存储库时出现 SunCertPathException

Maven: SunCertPathException when accessing self-signed repository

我为 Maven 工件设置了存储库,只允许 https/ssl 访问。当 运行 一个 Maven 构建时,我自然会得到这个异常:

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

为了解决这个问题,我下载了我的存储库的证书并将其作为受信任的位置导入到我的本地密钥库中。当我打印 keystone 的内容时,证书似乎已正确安装。

同时我也重新启动了计算机。之前缓存中应该有任何东西。 当 运行 maven 再次构建时,我仍然得到上面的安全异常。有人知道问题出在哪里吗?

您需要确保证书安装在maven 使用的JVM 的%JAVA_HOME%\lib\security\cacerts 下。如果不存在,则需要导入它。

查看证书是否安装的命令:

keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts

导入命令

keytool -import -noprompt -trustcacerts -alias <AliasName> -file   <certificate> -keystore <KeystoreFile> -storepass <Password>