真正解决Could not transfer artifact org.springframework.bootspring-boot-starter-parentpom
解決新建springboot項目時包導不進來的問題
發現問題
- 新建一個springboot項目
- 此時maven的setting配置文件配置的阿里云的源
- 發現很多包導不進來,于是reimport,沒有效果
- 于是執行clean命令
- 報錯
Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.2.4.RELEASE from/to alimaven (https://maven.aliyun.com/repository/central): PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- 進入報錯的網站查找springbootRELEASE2.2.4的包(https://maven.aliyun.com/repository/central)
- 發現阿里云還沒有2.2.4的包,于是將springboot的版本改成2.1.7
- 還是報錯
- 查看報錯信息的后半部分
( sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)
無法找到有效的證書
- 找到問題所在
解決問題(兩種方法)
第一種方法:在執行maven命令時忽略證書檢查
-
在新建maven工程時,會自執行maven的各種命令
-
在此處設置忽略證書檢查
-
命令如下
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
第二種方法:手動導入證書
-
確保maven中setting文件中的阿里源配置正確 (注意url中協議為https!)
nexus-aliyun central Nexus aliyun https://maven.aliyun.com/nexus/content/groups/public -
將阿里鏡像庫的證書加到信任證書庫里面
-
打開上面阿里源的網址
-
https://maven.aliyun.com/nexus/content/groups/public或https://maven.aliyun.com/repository/central都是一樣的
-
通過chrome瀏覽器下載證書到本地
-
一路next,將文件命名為ali_maven,后綴默認為.cer,保存到D盤根目錄
- 通過證書添加到java信任證書庫
cacerts包含了很多CA證書,位置在Java的安裝目錄:如: C:Program FilesJavajre1.8.0_171libsecuritycarcerts
- 以管理員身份打開命令提示符(cmd)
- 進入carcerts所在文件目錄
- 執行命令keytool -import -alias cacerts -keystore cacerts -file d:ali_maven.cer
- 默認密鑰庫口令:changeit
- 是否信任此證書[否]: Y
- 顯示證書已添加到密鑰庫中即表示添加成功
- 回到項目中重新clean,compile,解決
總結
這是非??尤说牡胤?沒有正確的解決問題會讓人十分抓狂
希望踩過的坑及時將它填上
總結
以上是生活随笔為你收集整理的真正解决Could not transfer artifact org.springframework.bootspring-boot-starter-parentpom的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速上手百度大脑驾驶行为分析
- 下一篇: 运维管理软件中的精益思想