解决在编译Hudi中遇到的unable to find valid certification path to requested target错误

hivefans
Aug 27, 2021

在编译hudi master的过程中,遇到了编译错误,提示unable to find valid certification path to requested target 错误,无法下载依赖的jar与pom文件

使用命令行curl可以下载文件,通过谷歌搜索查到是java访问https网址证书问题

解决方法

下载需要访问的网址证书,因为hudi源码中的pom.xml文件中默认使用的是https://repo.maven.apache.org/maven2/,很多的依赖无法下载,我修改为https://packages.confluent.io/maven/ ,所以先下载packages.confluent.io的证书

点击浏览器中的锁图标

然后选择证书,点击详细信息,选择复制到文件

下一步,选择文件格式类型Base64

选择下一步,定义导出的文件名

继续下一步,导出文件成功

这里我保存在的/opt/abc.cer

导入证书

执行如下命令

keytool -import -alias abc -keystore cacerts -file /opt/abc.cer

其中:

-alias 指定别名(推荐和证书同名)

-keystore 指定存储文件(此处固定)

-file 指定证书文件全路径(证书文件所在的目录)

注意:当切换到 cacerts 文件所在的目录时,才可指定 -keystore cacerts, 否则应该指定全路径;

此时命令行会提示你输入cacerts证书库的密码,敲入changeit即可,这是java中cacerts证书库的默认密码,当然也可自行修改。

库密钥口令输入:changeit

将会看到如下的信息

是否信任:Y

证书导入成功

查看证书,密钥仍然是changeit

keytool -list -keystore cacerts -alias abc

导入证书成功后,再次编译hudi

mvn clean package -DskipTests -Dscala-2.12

编译成功

--

--