通过 ~/.m2/settings.xml
文件配置了公司内部 Maven 仓库镜像,Maven 下载依赖时报错:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
是由于公司搭建内部 Maven 仓库时使用了自签证书,JRE 不识别该证书,导致 SSL 校验失败。
Import security certificate to the JRE Keystore
假设证书保存在 ~/Downloads/ca.pem
$ cd $JAVA_HOME/jre/lib/security/
$ keytool -import -alias mycertificate -keystore cacerts -file ~/Downloads/ca.pem
如果执行 keytool 过程中提示"输入秘钥库口令(Enter keystore password)",输入 changeit
即可。
❌ 有安全风险,不推荐使用该方法
在执行命令式添加 -Dmaven.wagon.http.ssl.insecure=true
如:
mvn clean compile -Dmaven.wagon.http.ssl.insecure=true
❌ 有安全风险,不推荐使用该方法
Maven 的 "VM options for importer" 中配置 -Dmaven.wagon.http.ssl.insecure=true
跳过证书检验会导致下载官方源的包也不检验,那还是安装证书好一点。