工作日志,證書無效 unable to find valid certification path to requested target


工作日志,證書無效 unable to find valid certification path to requested target

最近被這個問題弄得頭大。導致所有用到 se.transmode.gradle:gradle-docker:1.2 的項目全部都無法啟動!也不知道為什么會這樣,其他同事的項目卻可以正常打包運行!花了大半天的時間終於折騰好了。

異常情況:

異常日志:

org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'xxxx'.
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all artifacts for configuration ':classpath'.
	... 91 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.github.jnr:jffi:[1.2.1, 1.3.0).
Required by:
    project : > se.transmode.gradle:gradle-docker:1.2 > com.github.docker-java:docker-java:0.9.0 > com.github.jnr:jnr-unixsocket:0.3 > com.github.jnr:jnr-ffi:1.0.3
	... 110 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Failed to list versions for com.github.jnr:jffi.
	... 136 more
Caused by: org.gradle.api.resources.ResourceException: Unable to load Maven meta-data from https://repo.maven.apache.org/maven2/com/github/jnr/jffi/maven-metadata.xml.
	... 142 more
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://repo.maven.apache.org/maven2/com/github/jnr/jffi/maven-metadata.xml'.
	... 149 more
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	... 168 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	... 190 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	... 196 more

解決思路

網上找了一些解決方法,都是導出證書后添加到本地。第一次遇到這個問題,也不知道從哪里導出證書。看到日志中提示Failed to list versions for com.github.jnr:jffi. 。開始懷疑是因為證書失效導致的錯誤,於是將maven倉庫中jffi 的證書導入並添加到本地,重啟IDEA后,還是失敗了。一瞬間,迷茫了。開始嘗試導入其他網址的證書;嘗試換gradle docker plugin;連重啟電腦的方法都用上了。折騰了好長時間,結果都是以失敗告終。

最后又重新看了一遍日志 se.transmode.gradle:gradle-docker:1.2 > com.github.docker-java:docker-java:0.9.0 > com.github.jnr:jnr-unixsocket:0.3 > com.github.jnr:jnr-ffi:1.0.3 抱着try 一 try的心態導入了 jnr-ffi:1.0.3 的證書,結果成功了,心態蹦了。蹦了。了。

具體步驟

第一步:分析日志,列出證書失效的嫌疑jar。

第二步:進入maven 倉庫(可能是私服),找到對應的jar頁面。

第三步:導出證書到本地

第四步:用管理員身份打開cmd窗口,執行./keytool -import -alias 別名 -keystore cacerts -file 證書地址 命令添加證書,提示“證書已添加到密鑰庫中”即可。

第五步:重啟IDEA

這次的坑給我的教訓

日志看仔細。如果一次沒有成功,切不可否定自己的觀點,多試幾次。可以把其他的嫌疑對象,都添加進來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM