文章目录
前言
Eclipse 为我们在开发中必不可缺的 IDE,熟悉 Eclipse 的开发与应用可以让我们在项目中事半功倍。但是如果我们在使用过程中,比如使用 Eclipse 安装内置插件时,或者是插件更新时报错,我们该如何解决呢?本文就 Eclipse 的此类报错做了汇总。
一、产生错误的场景
我们在 Eclipse 中安装新的内置插件时产生如下错误,具体如下图所示:
二、错误信息描述
错误信息的详情如下:
An error occurred while collecting items to be installed session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). HTTP Server 'Internal Error': http://updates-cdn.genuitec.com/devstyle/updates/ds20190916a/plugins/com.genuitec.eclipse.theming.epl_1.11.0.201909171704.jar HttpComponents connection error response code 500.
三、出错原因分析
3.1、错误原因定位
我们将 Eclipse 的报错信息进行翻译,分析如下:
收集要安装的项目会话上下文时发生错误:
(profile = epp.package.jee,phase = org.eclipse.equinox.internal.p2.engine.phases.Collect,operand =,action =)。HTTP服务器’内部错误’:http ://updates-cdn.genuitec.com/devstyle/updates/ds20190916a/plugins/com.genuitec.eclipse.theming.epl_1.11.0.201909171704.jar
HttpComponents连接错误响应代码500。
现在呢我们就得知——Eclipse 的更新管理 P2 出错了。
3.2、Eclipse 的更新管理 P2 出错
P2 有一个垃圾回收机制,之前删除的 Jar 包在未被回收之前,再次重装,系统不会做重新 download 的动作,但是它又找不到那个 Jar 包了,故而报错。
四、解决方式
4.1、进入 Eclipse 的安装根目录
在运行命令行中切换到 Eclipse 的安装根目录,即 eclipse.exe 所在目录,以我的安装目录执行命令如下:
cd bailu\eclipse-jee-2019-09-R-win32-x86_64\eclipse
具体如下图所示:
4.2、修改 Eclipse 配置文件
执行命令修改配置文件信息,输入如下命令:
eclipse -application org.eclipse.equinox.p2.garbagecollector.application -profile 0000
说明:(0000 是 configuration/concfig.ini 里 eclipse.p2.profile 项的值)。
五、本解决方式适用范围
- 安装插件报错,找不到某 Jar 包。
- 安装插件报错,报错信息:An error occurred while collecting items to be installed session context was:(profile=epp.package.je…。
六、其他类似问题如何解决?
6.1、Access is denied 访问被拒绝
6.1.1、错误信息描述
An error occurred while collecting items to be installed session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). Unable to write to repository: file:/C:/Program%20Files/eclipse/. C:\Program Files\eclipse\plugins\org.jboss.netty_3.2.4.Final-201112281337.jar (Access is denied)
6.1.2、出错原因分析
在 Windows 7上,Program Files 目录受到保护,因此应用程序无法自动在那里写入。
6.1.3、解决方式
- 最简单的解决方案就是将 Eclipse 安装到用户可写的位置。例如,C:\Java\Eclipse。应该能够移动整个 Eclipse 目录,没有任何注册表项或其他任何将 Eclipse 绑定到提取它的地方。
- 或者建议只下载最新的 Eclipse,将其安装到一个新的位置(不要将它安装在现有的 Eclipse 之上),并将其指向现有的工作区。
6.2、新的 Sourceforge SSL 证书和旧 JRE 安装中缺少根证书
6.2.1、错误信息描述
An error occurred while collecting items to be installed session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). Unable to read repository at http://sourceforge.net/projects/jautodoc/files/updatesite/1.14.0/net.sf.jautodoc_1.14.0.jar/download. sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Unable to read repository at http://sourceforge.net/projects/jautodoc/files/updatesite/1.14.0/net.sf.jautodoc.velocity_1.14.0.jar/download. sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
6.2.2、出错原因分析
这是新的 Sourceforge SSL 证书和旧 JRE 安装中缺少根证书的问题。
有关详细信息,请参阅 http://magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed.html 。
6.2.3、解决方式
如果你在使用 Java 8u92 运行 Eclipse 时重现错误。您可以更新您的 JRE 或从 8u112 下载并解压缩此密钥库并更新您的“eclipse.ini”,如下所示:
-vmargs -Djavax.net.ssl.trustStore = <你的路径> \ cacerts -Djavax.net.ssl.trustStorePassword = changeit
关闭 Eclipse 并从 Eclipse 中的 features 文件夹中删除以下文件夹(如果存在):
- net.sf.jautodoc.feature_1.14.0
以及 Eclipse 中 plugins 文件夹中的以下任何文件,如果它们存在(有些在安装失败期间安装):
- net.sf.jautodoc_1.14.0.jar
- net.sf.jautodoc.velocity_1.14.0.jar
现在重新启动 Eclipse 并验证 JAutoDoc 肯定不存在,然后再次关闭 Eclipse。
现在将上面命名的文件从下载的存档中复制回 plugins / features 文件夹,然后再次启动 Eclipse。JAutoDoc 现在应该再次出现在那里,问题即可解决。
总结
本文给大家总结了如何解决 Eclipse 安装新插件报错的问题。首先是我们最常见到的 p2 更新出错,其次是由于我们应用安装位置不正确导致的访问权限不够的问题,最后是新旧证书缺失文件的问题。以至于随着不断的版本更新可能某些错误会被进一步修复,还有什么其他的问题和报错产生的话也欢迎大家随时补充。
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!