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.
我们将 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 出错了。
p2 有一个垃圾回收机制,之前删除的 JAR 包在未被回收之前,再次重装,系统不会做重新 download 的动作,但是它又找不到那个 JAR 包了,故而报错。
在运行命令行中切换到 Eclipse 的安装根目录,即 eclipse.exe 所在目录,以我的安装目录执行命令如下:
cd bailu\eclipse-jee-2019-09-R-win32-x86_64\eclipse
执行命令修改配置文件信息,输入如下命令:
eclipse -application org.eclipse.equinox.p2.garbagecollector.application -profile 0000
说明:(0000 是 configuration/concfig.ini 里 eclipse.p2.profile 项的值)。
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)
在 Windows 7上,Program Files 目录受到保护,因此应用程序无法自动在那里写入。
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
这是新的Sourceforge SSL证书和旧JRE安装中缺少根证书的问题。有关详细信息,请参阅http://magicmonster.com/kb/prg/java/ssl/pkix_path_building_failed.html 。
如果你在使用 Java 8u92 运行 Eclipse 时重现错误。它适用于 Java 8u112。您可以更新您的 JRE 或从 8u112 下载并解压缩此密钥库并更新您的“eclipse.ini”,如下所示:
-vmargs
-Djavax.net.ssl.trustStore = <你的路径> \ cacerts
-Djavax.net.ssl.trustStorePassword = changeit
关闭 eclipse 并从 eclipse 中的 features 文件夹中删除以下文件夹(如果存在):
以及 eclipse 中 plugins 文件夹中的以下任何文件,如果它们存在(有些在安装失败期间安装):
现在重新启动 eclipse 并验证 JAutoDoc 肯定不存在,然后再次关闭 eclipse。 现在将上面命名的文件从下载的存档中复制回 plugins / features 文件夹,然后再次启动 eclipse。JAutoDoc 现在应该再次出现在那里,问题即可解决。
本文给大家总结了如何解决 eclipse 安装新插件报错的问题。首先是我们最常见到的 p2 更新出错,其次是由于我们应用安装位置不正确导致的访问权限不够的问题,最后是新旧证书缺失文件的问题。以至于随着不断的版本更新可能某些错误会被进一步修复,还有什么其他的问题和报错产生的话也欢迎大家随时补充。
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!