解决在编译Hudi中遇到的unable to find valid certification path to requested target错误
在编译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
编译成功