簡體   English   中英

如何解決SonarLint eclipse缺少必需的包

[英]How to resolve missing required bundle for SonarLint eclipse

我在Eclipse Luna中加載SonarLint 2.2.0時遇到問題。 官方網站文檔稱Eclipse Luna支持2.2.0版本。 我也可以毫無問題地從Eclipse Marketplace安裝SonarLint。 但是在eclipse重啟時,SonarLint無法加載。 在診斷插件時,我發現有一些丟失的包,如下圖所示。 在此輸入圖像描述

從OSGI控制台檢查捆綁包時,我有捆綁包,它處於ACTIVE狀態,但版本不同,如下所示。 在此輸入圖像描述

看看這個,如果有的話,我認為我不應該將equinox降級到版本0.0.0。 而且不確定我該如何處理它。 任何幫助將不勝感激。

謝謝

SonarLint for Eclipse的2.2.0版本已移至Java 8(以及SonarLint Core庫)。 因此,所有這些bundle的MANIFEST都被更新為需要JavaSE-1.8執行環境。

如果您的Eclipse安裝無法提供此要求,則不會加載SonarLint插件。 我同意這種無聲的失敗是一種恥辱,但如果你對如何改進有所了解,請告訴我。

Eclipse不提供JavaSE-1.8的可能原因:

  • Eclipse是用Java <8啟動的。確保只需打開幫助 - >關於Eclipse - >安裝細節 - >配置並查找屬性java.version 這里的解決方案很簡單:使用JVM 1.8+運行Eclipse。
  • 您使用的是非常舊的Eclipse版本(<Kepler SR1)。 沒有Java 1.8配置文件,因此即使您使用JVM 1.8也無法工作(請參閱https://bugs.eclipse.org/bugs/show_bug.cgi?id=387699 )。 Luna應該得到支持,但是如果你從舊版本的Eclipse升級則可能會被破壞(請參閱如何將執行環境1.8添加到Eclipse Luna? )。 嘗試全新安裝Luna或更新版本。

我看到了同樣的問題,並在OSGi控制台中運行了diag。 我發現SonarLint eclipse捆綁包引用了2.3.1版本的核心SonarLint捆綁包,而插件有效負載包括2.4.0版本的核心包。

例如:diag命令顯示sonarlint.eclipse.core包引用sonarlint-client-api_2.3.1,而插件有效內容包括sonarlint-client-api_2.4.0。

注意:我在OP提供的diag窗口底部看到了相同的版本問題。

我認為需要使用正確的軟件包版本重建/重新打包SonarLint 2.2軟件包。

這是我的OSGi控制台輸出供參考。

osgi> ss
...
1241    INSTALLED   org.sonarlint.eclipse.core_2.2.0.201607291419-RELEASE
1242    INSTALLED   org.sonarlint.eclipse.jdt_2.2.0.201607291419-RELEASE
1243    INSTALLED   org.sonarlint.eclipse.ui_2.2.0.201607291419-RELEASE
1244    INSTALLED   org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0
1245    INSTALLED   org.sonarsource.sonarlint.core.sonarlint-core_2.4.0


osgi> diag 1241
reference:file:plugins/org.sonarlint.eclipse.core_2.2.0.201607291419-RELEASE.jar [1241]
  Direct constraints which are unresolved:
    Missing required bundle org.sonarsource.sonarlint.core.sonarlint-client-api_2.3.1.
    Missing required bundle org.sonarsource.sonarlint.core.sonarlint-core_2.3.1.
    Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
  Leaf constraints in the dependency chain which are unresolved:
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-core_2.4.0.jar [1245]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0.jar [1244]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".

osgi> diag 1242
reference:file:plugins/org.sonarlint.eclipse.jdt_2.2.0.201607291419-RELEASE.jar [1242]
  Direct constraints which are unresolved:
    Missing required bundle org.sonarlint.eclipse.core_0.0.0.
    Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
  Leaf constraints in the dependency chain which are unresolved:
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-core_2.4.0.jar [1245]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0.jar [1244]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
    reference:file:plugins/org.sonarlint.eclipse.core_2.2.0.201607291419-RELEASE.jar [1241]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".

osgi> diag 1243
reference:file:plugins/org.sonarlint.eclipse.ui_2.2.0.201607291419-RELEASE.jar [1243]
  Direct constraints which are unresolved:
    Missing required bundle org.sonarlint.eclipse.core_0.0.0.
    Missing imported package org.sonarsource.sonarlint.core.client.api.connected_0.0.0.
    Missing imported package org.sonarsource.sonarlint.core.client.api.util_0.0.0.
    Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
  Leaf constraints in the dependency chain which are unresolved:
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-core_2.4.0.jar [1245]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0.jar [1244]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
    reference:file:plugins/org.sonarlint.eclipse.core_2.2.0.201607291419-RELEASE.jar [1241]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".

osgi> diag 1244
reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0.jar [1244]
  Direct constraints which are unresolved:
    Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".

osgi> diag 1245
reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-core_2.4.0.jar [1245]
  Direct constraints which are unresolved:
    Missing required bundle org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0.
    Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".
  Leaf constraints in the dependency chain which are unresolved:
    reference:file:plugins/org.sonarsource.sonarlint.core.sonarlint-client-api_2.4.0.jar [1244]
      Missing required capability Require-Capability: osgi.ee; filter="(&(osgi.ee=JavaSE)(version=1.8))".

您是否已將這些插件添加為清單中的“必需捆綁包”?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM