这肯定是一个非常愚蠢的问题,但是我正在尝试从gitlab存储库中读取非常基本的信息(我的仓库是私有的,因此我无法向您显示确切的URL)。 我执行以下代码: (我只是在此示例中在公共存储库(https://github.com/ProgramDisciple/cube中发布了该文件的示例,但在我的情况下,该文件必须为PRIVATE,实际URL类似于(https://gitlab.com/ProgramDisciple/gitcube),但我可以不能在这里发布,对不起)
GitlabAPI gitLabApi=GitlabAPI.connect("https://gitlab.com/ProgramDisciple/cube", "API-Token");
String host=gitLabApi.getHost();//
gitLabApi.getProject("cube", "prop"); //--> here comes my error
问题是,当我尝试与GITLAB联系时,会一次又一次得到相同的错误:
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
http://rubenjgarcia.es/sslhandshakeexception-install-ssl-keystore/
Connect to gitlab using Java's Gitlab API
但是他们不能解决我的问题。我一定会忘记一些很简单的事情。
我也导入了gitlab的证书,但是仍然遇到相同的问题:
./keytool -import -alias "xrepocert" -keystore "C:/Program Files/Java/jre1.8.0_181/lib/security/cacerts" -file "C:/gitlabcerts/cert/gitlab.cer"
--------------解决方案--------------------------
我的解决方法是使用配置服务器读取这些属性,我点击了此链接(https://dzone.com/articles/using-spring-config-server),以便在每次启动服务时读取属性。