maven报错Non-resolvable parent POM for com.wpbxin:springboot2-first-example:0.0.1-SNAPSHOT: Could not

文章目录

    • 一、maven报错
    • 二、一些说明
    • 三、出现问题的原因和几种解决方法
      • 忽略SSL证书检查
      • 生成证书并导入到 JRE security 中
      • 使用默认的 maven 中央仓库
      • 使用 http 的镜像库
    • 四、参考链接


记录使用 maven 时遇到的问题。第一种方法最方便,亲测能用

 

一、maven报错

maven package 进行打包时出现了以下报错:

  Non-resolvable parent POM for com.wpbxin:springboot2-first-example:0.0.1-SNAPSHOT: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.1.5.RELEASE from/to alimaven (https://maven.aliyun.com/nexus/content/groups/public): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target and 'parent.relativePath' points at wrong local POM @ line 10, column 13 -> [Help 2]

截图如下:  在这里插入图片描述
再来一个一样但是比较奇葩的截图,这一次基本是处理完本次出现的问题后,笔者想回过头来重现问题然后记录下来(前后间隔3天左右),但却发现,同个打包的 maven 命令,前面还打包不成功,隔了十几秒再次运行命令,却又打包成功了(还有真可能是渣渣的网络原因!毕竟我这里用了手机的热点),一次 package 成功了然后后面的打包又基本没问题了,呃。。。
在这里插入图片描述

二、一些说明

这个是学习 SpringBoot2 时创建 HelloWorld 工程遇到的问题。先说下相关环境和系统设置:

win10 + JDK 1.8.0_111 + Apache Maven 3.3.9 + idea2019.1( +
手机共享热点,不排除可能网络问题下载慢)( + 谷歌浏览器77版本的)

笔者回过头记录这篇文章的时候试了下,默认情况下的maven中央仓库地址:https://repo.maven.apache.org/maven2
(好像比用阿里云的镜像库时顺利点,速度也感觉还行吧。)。这里贴上本地 maven 的 mirror 设置,这里设置的是国内的阿里云镜像,详情可以参考阿里云公共代理库官网相关说明:https://help.aliyun.com/document_detail/102512.html?spm=a2c40.aliyun_maven_repo.0.0.36183054oSYFKS

<mirror><id>alimaven</id><name>aliyun maven</name><mirrorOf>central</mirrorOf><!-- 阿里云公共代理库使用指南:https://help.aliyun.com/document_detail/102512.html?spm=a2c40.aliyun_maven_repo.0.0.36183054oSYFKS --><!-- <url>https://maven.aliyun.com/nexus/content/groups/public</url> --><url>https://maven.aliyun.com/repository/public</url>
</mirror>

三、出现问题的原因和几种解决方法

看了下报错提示,然后在网上搜了下,大致可以看出是 HTTPS 的证书安全检查问题。想想也是,现在 HTTPS 在大力推广,而 HTTPS 确实是需要双向验证的。既然遇到了,那总得处理完然后记录下吧,免得再被坑。以下就是笔者关于处理这个问题过程中的一些参考和验证。以下是4种处理方式:

忽略SSL证书检查

直接忽略掉SSL证书检查,跳过这个验证,在 maven 打包命令中加上参数 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

idea中的设置: settings ==> Build,Execution,Deployment ==> Build Tools ==> Maven ==> Runner 中的 VM Options ,将参数填入,截图如下:
在这里插入图片描述
Eclipse中的设置:右键项目 ==> Run As ==> Run Configurations...,在 Maven Build 那一块中的 JRE 栏位中的 VM arguments ,将参数填入,注意这里不同的参数需要换行,截图如下:
在这里插入图片描述
参考链接:使用Maven时出现jssecacerts PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilde错:https://blog.csdn.net/carrie__yang/article/details/79612385

生成证书并导入到 JRE security 中

既然用的是阿里云的镜像,那就去官网下个证书瞧一瞧。

第一步,谷歌浏览器打开网站:[https://maven.aliyun.com/mvn/view](https://maven.aliyun.com/mvn/view) ,左上角中那把小锁,也即截图的红框
在这里插入图片描述
点击“证书(有效)”,旧版的浏览器可以有 View certificate 之类的,反正记住是看证书就行。在这里插入图片描述
弹出来一个框框,点击“详细信息”
在这里插入图片描述
选择“复制到文件(C)...”,然后下一步 在这里插入图片描述
选择格式在这里插入图片描述
生成的名称,比如我这里aliyun-maven.cer,路径是 C:\cs-softwares\aliyun-maven.cer ,然后导出来:
在这里插入图片描述
完成证书导出
在这里插入图片描述
在这里插入图片描述
接下来,使用 keytool 命令导入证书,进入到 JDK 下 jre 下 lib 下的 security 目录,比如我的是 C:\cs-softwares\Java\jdk1.8.0_111\jre\lib\security,然后运行命令:

keytool -import -alias aliyun-maven -keystore cacerts -file C:\cs-softwares\aliyun-maven.cer ,如下,证书指纹(证书密钥):changeit

-alias :表示指定证书别名
-file :指定证书文件
在这里插入图片描述
输入 Y 表示确认:
在这里插入图片描述
查看证书,证书密钥同样是 changeit :

keytool -list -keystore cacerts -alias aliyun-maven

删除证书,证书密钥同样是 changeit:

keytool -delete -alias aliyun-maven -keystore cacerts

在这里插入图片描述
确认安装了证书之后,记得关闭这个cmd窗口,然后重启下idea或者Eclipse,再次进行 maven packge ,到这里应该是OK了。如果还是不行,报出了错误:java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty,如截图:
在这里插入图片描述
来来来,再加上参数(记得路径可以改为自己的 JDK 安装路径),把刚才的证书用上,参考:The trustAnchors Parameter Must Be Non Empty:https://www.techpaste.com/2017/03/trustanchors-parameter-must-non-empty/
,这下应该妥妥了。(后面OK了之后,也试过删除了阿里云镜像的证书,然后再打包,一样没问题,这里可以先试下直接加参数,有问题再加证书)

-Djavax.net.ssl.trustStore=C:\cs-softwares\Java\jdk1.8.0_111\jre\lib\security\cacerts
-Djavax.net.ssl.trustAnchors=C:\cs-softwares\Java\jdk1.8.0_111\jre\lib\security\cacerts

使用默认的 maven 中央仓库

前面提到过默认的 maven 中央仓库: https://repo.maven.apache.org/maven2,使用默认的配置就行了(本地仓库自行设置)。

PS:吐槽下,绝望之后回到了最初的起点,使用默认的配置居然没啥问题(即使用了 maven 默认的中央仓库,本来是要来重现问题的),然后回过头来想用阿里云 maven 镜像重现问题,就把阿里云中央仓库的证书也删除了,而且使用了阿里云的镜像库,也不加任何参数,这次却顺利用上了,然后把 spring-boot-starter-parent 从 2.1.0.RELEASE 到 2.1.9.RELEASE 都试了个遍,哎呦去咋情况,又都没问题了,或者是有问题的,试了第二遍或者第三遍又行了,这还真有可能是我的渣渣网络原因。。。

使用 http 的镜像库

这就是直接避开了吧,这个方法就没试过了,只是查找问题的过程中看 stackoverflow 上有提到。

四、参考链接

1、使用Maven时出现“jssecacerts PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilde”错:https://blog.csdn.net/carrie__yang/article/details/79612385

2、彻底解决unable to find valid certification path to requested target:https://blog.csdn.net/gabriel576282253/article/details/81531746

3、关于gradle Cause: unable to find valid certification path to requested target错误解决方法:https://www.chengbinbin.cn/archives/1550795296099/

4、Maven编译打包时报“PKIX path building failed”异常解决方法:https://www.iteye.com/blog/truth99-2160540

5、Problems using Maven and SSL behind proxy:https://stackoverflow.com/questions/25911623/problems-using-maven-and-ssl-behind-proxy

6、Could not transfer artifact from/to central because of InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty:https://stackoverflow.com/questions/37278306/could-not-transfer-artifact-from-to-central-because-of-invalidalgorithmparameter

7、The trustAnchors Parameter Must Be Non Empty:https://www.techpaste.com/2017/03/trustanchors-parameter-must-non-empty/

8、Could not transfer artifact (https://repo.maven.apache.org/maven2): Received fatal alert: protocol_version -> [Help 1]:https://stackoverflow.com/questions/50946420/could-not-transfer-artifact-https-repo-maven-apache-org-maven2-received-fat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机科技与技术对应岗位,计算机技术与软件专业技术资格名称及岗位基本任职条件...

超越梦想&#xff1a;计算机技术与软件专业技术资格名称及岗位基本任职条件专业资格名称对应专业技术职务等级学位或学历要求资历要求信息系统项目管理师、系统分析师、系统架构设计师、网络规划设计师、系统规划与管理师高级博士学位聘任工程师满2年硕士学位聘任工程师满4年本…

Intellij idea 出现错误 error:java: 无效的源发行版: 11解决方法

Select the project, then File > ProjectStructure > ProjectSettings > Modules -> sources You probably have the Language Level set at 9: Just change it to 8 借用下别人的图片&#xff0c; 我的默认是11报的错&#xff0c; 改成8后就好了

计算机房机柜标准尺寸,有哪些参数和尺寸符合机房机柜的安装要求

现如今服务器机房越来越多&#xff0c;不管是自己托管服务器还是租用服务器&#xff0c;机房机柜的选择是很重要的。机房机柜也会跟其高度厚度尺寸等相关。对于需要运行环境和要求高的机房&#xff0c;还需要选择有智能系统的机柜才行。还需要根据一些机房机柜的参数来考虑是否…

9月第1周国内IT技术类网站:CSDN覆盖数持续走低

根据国际统计机构Alexa公布的最新数据显示&#xff0c;9月第1周&#xff08;2013-09-02至2013-09-08&#xff09;&#xff0c;国内IT技术类网站排行榜中&#xff0c;CSDN以1710居于榜首&#xff0c;第二位是1170的博客园&#xff0c;第三位是670的51CTO。下面是具体情况&#x…

YOLOv3改进方法增加特征尺度和训练层数

YOLOv3改进方法 YOLOv3的改进方法有很多&#xff0c;本文讲述的是增加一个特征尺度。 以YOLOv3-darknet53&#xff08;ALexeyAB版本&#xff09;为基础&#xff0c;增加了第4个特征尺度&#xff1a;104*104。原版YOLOv3网络结构&#xff1a; YOLOv3-4l网络结构&#xff1a; 即…

uva 610(tarjan的应用)

题目链接&#xff1a;http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id23727 思路&#xff1a;首先是Tarjan找桥&#xff0c;对于桥&#xff0c;只能是双向边&#xff0c;而对于同一个连通分量而言&#xff0c;只要重新定向为同一个方向即可。 1 #include<ios…

Win7搭建NodeJs开发环境以及HelloWorld展示—图解

Windows 7系统下搭建NodeJs开发环境&#xff08;NodeJsWebStrom&#xff09;以及Hello World&#xff01;展示&#xff0c;大体思路如下&#xff1a;第一步&#xff1a;安装NodeJs运行环境。第二步&#xff1a;安装WebStrom开发工具。第三步&#xff1a;创建并运行NodeJs项目展…

计算机一级windows7操作,计算机等级一级:Windows7应用之小技巧

为了帮助广大考生更好的复习&#xff0c;帮考网综合整理提供了计算机等级考试一级微机知识:Windows7应用之小技巧&#xff0c;以供各位考生复习参考&#xff0c;希望对考生复习有所帮助。从年初开始&#xff0c;断断续续的&#xff0c;windows7使用也有一段时间&#xff0c;碰到…

MySQL5.6忘记root密码(win平台)

1、首先net stop mysql服务&#xff0c;并且切换到任务管理器&#xff0c;有与mysql有关的&#xff0c;最好关闭进程。 2、运行CMD命令切换到MySql安装bin目录&#xff0c;下面是我的mysql安装目录 cd C:\Program Files\MySQL\MySQL Server 5.6\bin 接着执行mysqld --skip-gra…

单片机四位数加减计算机程序,51单片机简易计算器程序 实现数字的加减乘除运算...

//头文件#define uint unsigned int#define uchar unsigned charsbit lcdenP1^1; //LCD1602控制引脚sbit rsP1^0;sbit rwP1^2;sbit busyP0^7;//LCD忙char i,j,temp,num,num_1;long a,b,c; //a,第一个数 b,第二个数 c,得数float a_c,b_c;uchar flag,fuhao;//flag表示是否有运…

在pandas中遍历DataFrame行

有如下 Pandas DataFrame&#xff1a; import pandas as pd inp [{c1:10, c2:100}, {c1:11,c2:110}, {c1:12,c2:120}] df pd.DataFrame(inp) print df 上面代码输出&#xff1a; c1 c2 0 10 100 1 11 110 2 12 120 现在需要遍历上面DataFrame的行。对于每一行&#x…

MySQL索引的Index method中btree和hash的区别

2019独角兽企业重金招聘Python工程师标准>>> 在MySQL中&#xff0c;大多数索引&#xff08;如 PRIMARY KEY,UNIQUE,INDEX和FULLTEXT&#xff09;都是在BTREE中存储&#xff0c;但使用memory引擎可以选择BTREE索引或者HASH索引&#xff0c;两种不同类型的索引各自有其…

Oracle 11g数据库管理与开发指南

为什么80%的码农都做不了架构师&#xff1f;>>> Oracle 11g数据库管理与开发指南 本书内容系统而全面&#xff0c;详细讲解了Oracle数据库的管理、开发、性能优化、以及PL/SQL 编程的相关知识&#xff0c;面面俱到&#xff1b;注重实战&#xff0c;为每个知识…

SQL Server 跨网段(跨机房)复制

一.本文所涉及的内容&#xff08;Contents&#xff09; 本文所涉及的内容&#xff08;Contents&#xff09;背景&#xff08;Contexts&#xff09;解决方案&#xff08;Solution&#xff09;搭建过程&#xff08;Process&#xff09;注意事项&#xff08;Attention&#xff09;…

Twitter Storm安装配置(Ubuntu系统)单机版

要使用storm首先要安装以下工具&#xff1a;JDK、Python、zookeeper、zeromq、jzmq、storm &#xff08;注&#xff1a;各个模块都是独立的&#xff0c;如果安装失败或者卡顿可以单独百度某个模块的安装&#xff0c;都是可以的。&#xff09; JDK1.7安装 参见上篇《Ubuntu下安…

计算机中隐藏的文件找不到了怎么办,隐藏文件夹找不到了怎么办【图解】

在今天&#xff0c;越来越多的人利用电脑来办公。甚至有一些工作&#xff0c;已经与电脑密切相关了。电脑以其强大的功能辅助人们工作&#xff0c;但有时在操作过程中会碰到这样或那样的问题。这个时候人们就会叹其操作的复杂性。就好比如有时你隐藏了一个文件&#xff0c;可是…

CentOS6 配置 yum 阿里源

一、CentOS6停止维护更新日期2020年11月30日 二、2020年12月2日下架了包括官方所有的CentOS6源&#xff08;包括国内的镜像站&#xff09; 三、CentOS6也完成了它的历史使命 在生产的环境中依旧由很多CentOS6系统依然在坚持&#xff0c;那么可以采取挂载光盘或者使用centos-va…

使用ab进行页面的压力测试

ab是apache自带的一个很好用的压力测试工具&#xff0c;当安装完apache的时候&#xff0c;就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户&#xff0c;对一个页面发送1000个请求 输入命令&#xff1a;ab -n1000 -c100 http://stone_w.cnblogs.com/ 其中-n代…

取消计算机触摸板,笔记本电脑触摸板,详细教您笔记本电脑触摸板怎么关闭

很多的笔记本的用户都习惯使用鼠标&#xff0c;主要是因为笔记本触摸板操作不太方便&#xff0c;没有鼠标操作灵活。反而是经常在电脑中打字等操作时容易误碰到笔记本触摸板&#xff0c;导致输入错误等等&#xff0c;因此很多朋友一般会关闭触摸板&#xff0c;可是笔记本触摸板…

OC学习笔记--基础篇

本文简要介绍了一些oc的基础类型&#xff0c;包括数组、字典、字符串、消息传递、类、对象、方法、属性、协议和转发&#xff0c;希望对你有帮助。 OC数据类型 打印—类似print NSlog("hello word");数组 NSMutableArray &#xff08;可变数组&#xff09;和 NSAr…