无法下载eclipse插件

问题描述 投票:0回答:7

我正在尝试下载 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

我位于防火墙后面,并且已配置代理设置。我从这个网站下载了证书并将其添加到keytool但错误仍然相同。我如何解决此错误或手动安装此插件?

java eclipse kotlin
7个回答
25
投票

给出的异常非常清楚:

sun.security.validator.ValidatorException

这意味着 eclipse 获得的证书与 eclipse 与之对话的主机不匹配 - 或者这个故事的变体。这是由于企业环境中您的工作站被代理、防火墙或检查 https 流量的设备拦截。

1。在java的cacerts中添加拦截证书

使用命令行将“拦截证书”(参见 ps)添加到 java cacerts 密钥库中(或使用一些 GUI,如“KeyStore Explorer”或 google 提供的任何内容)。

参考:如何正确地将自签名证书导入到默认情况下可供所有 Java 应用程序使用的 Java 密钥库中?

2。修复 eclipse.ini 并在下面添加“-vmargs”:

-Djavax.net.ssl.trustStore=cacerts 
-Djavax.net.ssl.trustStorePassword=changeit

注意:使用“cacerts”的完整路径,我将 cacerts 保存在 eclipse 文件夹中。避免空格并且绝对不要引号,否则您会遇到 trustAnchors 异常。

现在市场商店和“安装新软件”应该像我一样工作。祝你好运。

PS:要查找拦截证书,请打开浏览器,访问 stackoverflow.com,单击 https 符号旁边的浏览器锁定图标,下载找到的所有证书并将其保存为文件 pem/cer。将这些导入到 cacerts 中。

PS:有关命令行的更多详细信息,由于引号和空格而导致的 trustAnchors 异常,请参见:stackoverflowstackoverflow

对标题和答案的备注:

-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4
- 未解决已解释的异常。它解决了其他类型的问题。 标题应该是“由于证书验证异常而无法安装 Eclipse 插件”


7
投票

能够通过将以下内容附加到

eclipse.ini
来解决该问题:

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

在这里找到上述解决方案:https://stackoverflow.com/a/33631964/4447655 如果这仍然不起作用,还有一个解决方案,在 Eclipse 代理设置中取消选中 SOCKS。


3
投票

在 eclipse 中设置代理设置时,您将获得三个要配置的代理条目:HTTP、HTTPS 和 SOCKS。 在 HTTP 和 HTTPS 代理条目中配置用户名和密码,但不在 SOCKS 中配置。试试这个,可能会有帮助。

另请确保您输入的用户名和密码正确。

配置完成后请重启eclipse,配置生效需要重启


1
投票

从这里手动下载插件

https://dl.bintray.com/jetbrains/kotlin/eclipse-plugin/0.8.5/

(查看这里是否有最新版本)

https://dl.bintray.com/jetbrains/kotlin/eclipse-plugin

然后

  1. 创建一个名为 kotlin-plugin 的目录,并将 features 和 plugins 目录(包含所有下载的 jar 文件)复制到其中。
  2. 关闭日食
  3. 将 kotlin-plugin 目录复制到 ${eclipse-install}/dropins
  4. 启动日食

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

0
投票

这就是我解决的方法 -

  1. 确保我在 C:\Program Files\Java 中只有一个 JDK 版本,即只安装了一个版本的 java。并在文件末尾添加以下行 - C:\Users\xyz\OneDrive - AEP Clipse Clipse.ini

    -Djavax.net.ssl.trustStore=cacerts

    -Djavax.net.ssl.trustStorePassword=changeit

  2. 在 Edge 浏览器中打开 URL - https://ecd-plugin.github.io/update/

  3. 单击 URL 左侧的锁定图标,如下图所示[锁定] 1

  4. 点击“连接安全”[连接安全] 2

  5. 单击证书查看图标 [证书查看] 3

  6. 点击详细信息选项卡-->导出按钮[详细信息] 4

  7. 将“保存类型”更改为“DER编码的二进制,单证书”,输入我使用的文件名'ecd-plugin.github.io'并保存。[savefile] 5

  8. 打开命令提示符并转到 jdk 文件夹 lib security 例如'C:\Program Files\Java\jdk-21\lib\security'

  9. 确保使用以下命令设置 PATH,以避免错误 - “'keytool' 未被识别为内部或外部命令、可操作程序或批处理文件。”

    set PATH=%PATH%;C:\Program Files\Java\jdk-21\bin

  10. 写下命令-

    C:\Program Files\Java\jdk-21\lib\security>keytool -import -alias C:\Users\xyz\Downloads\ecd-plugin.github.io -keystore  "C:\Program Files\Java\jdk-21\lib\security\cacerts" -file C:\Users\xyz\Downloads\ecd-plugin.github.io.der

  11. 输入“是”,作为其提出的问题的答案,如果您不是管理员,您可能需要对 jdk 文件夹进行提升访问/完全访问。

  12. 一旦证书导入成功,重新启动 Eclipse 并重做安装插件的步骤..此后它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.