文章目錄
- 前言
- 一、產生錯誤的場景
- 二、錯誤信息描述
- 三、出錯原因分析
- 3.1、錯誤原因定位
- 3.2、Eclipse 的更新管理 P2 出錯
- 四、解決方式
- 4.1、進入 Eclipse 的安裝根目錄
- 4.2、修改 Eclipse 配置文件
- 五、本解決方式適用范圍
- 六、其他類似問題如何解決?
- 6.1、Access is denied 訪問被拒絕
- 6.1.1、錯誤信息描述
- 6.1.2、出錯原因分析
- 6.1.3、解決方式
- 6.2、新的 Sourceforge SSL 證書和舊 JRE 安裝中缺少根證書
- 6.2.1、錯誤信息描述
- 6.2.2、出錯原因分析
- 6.2.3、解決方式
- 總結
前言
Eclipse 為我們在開發中必不可缺的 IDE,熟悉 Eclipse 的開發與應用可以讓我們在項目中事半功倍。但是如果我們在使用過程中,比如使用 Eclipse 安裝內置插件時,或者是插件更新時報錯,我們該如何解決呢?本文就 Eclipse 的此類報錯做了匯總。一、產生錯誤的場景
我們在 Eclipse 中安裝新的內置插件時產生如下錯誤,具體如下圖所示:
二、錯誤信息描述
錯誤信息的詳情如下:
An error occurred while collecting items to be installedsession 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 更新出錯,其次是由于我們應用安裝位置不正確導致的訪問權限不夠的問題,最后是新舊證書缺失文件的問題。以至于隨著不斷的版本更新可能某些錯誤會被進一步修復,還有什么其他的問題和報錯產生的話也歡迎大家隨時補充。我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!