目录
一、为什么配置忽略ssl校验
首先从一个常见的错误说起。
当使用mvn
打包时,会报错:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]
问题原因是没有导入中心仓域名的证书,ssl
证书校验不通过,就会报错误。
此时有两种方式:
- 配置
ssl
证书,见文档 - 配置忽略
ssl
证书,见下文;
二、如何配置忽略ssl校验
示例:
mvn -X clean install -Dmaven.resolver.transport=wagon -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
参数解析:
-Dmaven.wagon.http.ssl.insecure=true
:启用对ssl
验证的宽松检查。
-Dmaven.wagon.http.ssl.allowall=true
:允许使用服务的带hostname
的X.509
格式的证书。如果讲参数改为false,那么就会使用长默认的浏览器证书检查。
-Dmaven.wagon.http.ssl.ignore.validity.dates=true
:忽略整数中日期的检查。
Dmaven.resolver.transport=wagon
:在Maven3.9.0或者更高的版本中,默认的http调用已经切换到了Apache HttpClient 4
。需要切换成旧的wagon
组件,否则前面的三个参数不会生效。
参考
[1] stackoverflow-How to tell Maven to disregard SSL errors (and trusting all certs)?
[2] Maven Wagon HTTP
[3] Guide to Remote repository access through authenticated HTTPS
标签:wagon,http,校验,maven,ssl,Dmaven,true From: https://www.cnblogs.com/bloodcolding/p/17617019.html