环境
- Eclipse Version: 2020-12 (4.18.0)
- Java Version: 1.8.0_131
缘起
使用Eclipse开发项目时,项目中有一些sql的文件,在Eclipse 中编辑的时候没有高亮甚是不便, 所以就想着安装一个SQL的编辑器。
于是到Eclipse的插件市场(Eclipse Marketplace)逛逛, 输入 SQL Editor 马上就出现了一个匹配的插件"SQL Editor 1.2.0", 安装量超过7万。 So easy, 直接点击 “Install” 按钮。
耐心等待几分钟之后, 却报出如下错误:
Unable to read repository at https://de-jcup.github.io/update-site-eclipse-sql-editor/update-site/content.xml.
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
错误的意思大概是: 无法从插件库获取文件, 没有有效的证书路径。
“PKIX” 这个关键字以前在安装Jenkins插件的时候也遇到过, 于是翻出当时的记录回忆了一番。
Jenkins 在Windows下插件无法安装问题解决。
解决思路
汇总一下在Jenkins安装插件的那篇时出现的问题:
- SunCertPathBuilderException 的异常是JRE/JDK 本身的安全问题。也就是Java访问https 的站点需要有证书。 这和在浏览器中访问 https 的网站需要证书是一个道理。
由以上错误信息可知,SQL Editor插件安装的地址是 :https://de-jcup.github.io/update-site-eclipse-sql-editor/update-site/content.xml
- 通过那一篇的 SSLPoke.class 可以测试Java是否访问那个站点。
java SSLPoke de-jcup.github.io 443
-
如果因为证书无法访问, 可以通过InstallCert.class 这个工具类安装证书
java InstallCert de-jcup.github.io/update-site-eclipse-sql-editor/
-
把证书复制到 JDK或JRE 的security目录下。
安装证书后, 使用Java SSLPoke 访问站点成功了, 一阵欣喜后, 重启Eclipse 安装插件, 可以失望的依旧无法安装。
看来剩下的就只有离线安装一条路了。
方案探求- 离线安装
Eclipse 插件安装方式,在
Eclipse插件安装全方式 这一篇中介绍了两种离线安装方式:
- 直接复制插件目录
- 外部引用
但是自Eclipse 新版是安装方式而非解压方式之后, Eclipse的plugin 目录就不是很明显了。最关键的是遍找eclipse-sql-editor 相关站点,都没有找到直接的插件打包档。找到的网址有:
- 源码站点:https://github.com/de-jcup/eclipse-sql-editor
- 插件库地址: https://github.com/de-jcup/update-site-eclipse-sql-editor , 看起来在线安装找的就是这个地址的文件。
终极方案
终极的解决方案就是下载eclipse-sql-editor的库到本地, 在Eclipse中添加本地库的地址进行安装, 主要步骤有:
- 下载 clipse-sql-editor的库文件, 可以通过以下两个地址获取:
* https://download.csdn.net/download/oscar999/20466661
- https://github.com/de-jcup/update-site-eclipse-sql-editor
-
在插件安装时,添加本地目录库, 如下图所示:
-
出现如下界面, 点击“Next” 一直下一步即可。