无法下载Eclipse插件

21

我正在尝试下载Eclipse的Kotlin插件。我能够连接到Eclipse市场,但是当我尝试下载时,我收到了一个错误:

Unable to read repository at 
https://dl.bintray.com/jetbrains/kotlin/eclipse-plugin/last/content.xml.

sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target

我在防火墙后面,代理设置已配置。我从这个网站下载了证书并将其添加到密钥库中,但错误仍然存在。我该如何解决此错误或手动安装此插件?


你使用的是哪个版本的Eclipse? - Gabor Szarnyas
1
  1. JFrog(Bintray背后的公司)的知识库中有一个相关问题建议更新JVM作为一步 - 您使用的是哪个版本?
  2. 其他更新站点,如eclipse.org上的站点是否有效?
- Gabor Szarnyas
感谢提供的链接!我通过在eclipse.ini文件末尾添加“-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4”来解决了我的问题。在这里发现了它:https://dev59.com/iV4b5IYBdhLWcg3wiiV4#33631964 我也会查看你提供的链接,谢谢!其他更新也奏效了。 - magic_turtle
不要将解决方案编辑到您的问题中。相反,回答您自己的问题。 - dorukayhan
一个不太正规的解决方法:尝试使用 http 而不是 https 访问插件的 URL(对于 https://download.erlide.org/update 对我有效)。 - Fernando Gonzalez Sanchez
显示剩余2条评论
6个回答

25
给定的异常非常明确:
sun.security.validator.ValidatorException

意思是,Eclipse获得的证书与Eclipse所连接的主机不匹配,或者是类似的情况。这是由于企业环境中,您的工作站被代理、防火墙或其他检查https流量的工具拦截所导致的。
1. 将拦截证书添加到Java的cacerts中 使用命令行将"拦截证书"(参见ps)添加到Java的cacerts密钥库中(或使用一些GUI工具,如"KeyStore Explorer"或其他谷歌提供的工具)。
参考:如何正确将自签名证书导入到Java的默认可供所有Java应用程序使用的密钥库中? 2. 修复eclipse.ini并在"-vmargs"下添加以下内容:
-Djavax.net.ssl.trustStore=cacerts 
-Djavax.net.ssl.trustStorePassword=changeit

注意:对于“cacerts”,请使用完整路径,我将cacerts保存在eclipse文件夹中。避免使用空格,绝对不要使用引号,否则会遇到trustAnchors异常。
现在市场商店和“安装新软件”应该像我一样正常工作了。祝你好运。
附注:要找到拦截证书,请打开浏览器,转到stackoverflow.com,点击https标志旁边的浏览器锁图标,下载所有找到的证书并将它们保存为pem/cer文件。将这些证书导入cacerts。 附注:关于命令行、由于引号和空格引起的trustAnchors异常的更多详细信息,请参阅stackoverflowstackoverflow 对于标题和答案的备注:-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4 - 不是解决上述异常的方法。它解决的是其他类型的问题。 标题应该是“由于证书验证异常,无法安装Eclipse插件”。

非常感谢您提供的解决方案。它立即生效了。 - undefined

7

通过在 eclipse.ini 中添加以下内容,成功解决了该问题:

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4

在这里找到了上面的解决方案:https://dev59.com/iV4b5IYBdhLWcg3wiiV4#33631964。如果仍然不能使用,还有一种解决方法是取消 Eclipse 代理设置中的 SOCKS。


3

在Eclipse中设置代理时,您需要配置三个代理条目:HTTP、HTTPS和SOCKS。

在HTTP和HTTPS代理条目中配置用户名和密码,但不要在SOCKS中配置。尝试这样做,可能会有帮助。

同时,请确保您输入的用户名和密码是正确的。

配置完成后,请重新启动Eclipse,以便生效。


1

0

通过升级JVM(以及受信任的证书?)解决了问题。


0

你可以尝试这个解决方案:

> sudo apt-get install ca-certificates-java
> sudo update-ca-certificates -f

将其添加到eclipse.ini文件中

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接