2016-08-02 54 views
3

我在Eclipse Eclipse Luna中加载SonarLint 2.2.0时出现问题。官方网站文件称Eclipse Luna支持2.2.0版本。我也可以从Eclipse Marketplace安装SonarLint,没有任何问题。但在eclipse重启时,SonarLint无法加载。诊断插件,我发现有一些丢失的包,如下图所示。 enter image description here如何解决SonarLint eclipse缺失的必需捆绑包

在从OSGI控制台检查捆绑包时,我有捆绑包,它处于ACTIVE状态,但具有不同的版本,如下所示。 enter image description here

看着这个,我不认为我应该将equinox降级到版本0.0.0,如果有的话。不知道我该如何处理它。任何帮助,将不胜感激球员。

感谢

+0

只是检查:你确定你的Eclipse与Java 8一起运行吗? –

+0

我不太记得。我可能在Java 7中运行我的eclipse。让我用Java 8检查一下。 –

+0

@Nicolas:对于迟到的回复,我很忙。我尝试用Java 8运行eclipse。仍然没有加载sonarlint。 –

回答

2

SonarLint for Eclipse版本2.2.0已移至Java 8(以及SonarLint Core库)。因此,所有这些包的MANIFEST已更新为需要JavaSE-1.8执行环境。

如果您的Eclipse安装无法提供此需求,SonarLint插件将不会被加载。我同意这种沉默失败是一种耻辱,但如果你对如何改进有一个想法,请告诉我。

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

  • Eclipse中开始使用Java < 8.要确保只需打开帮助 - >关于日食 - >安装细节 - >配置,并期待物业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升级,如果可能被破坏(见How do I add execution environment 1.8 to Eclipse Luna?)。尝试全新安装Luna或更新版本。
+0

感谢Julien ... Java版本是真正的问题。对不起,我没有正确阅读文档的愚蠢。 –

0

你有没有在你的清单添加了这些插件为“必需的束”?

+0

这个插件没有进一步的配置。我只是从Eclipse Marketplace安装它,插件不会加载。 –

+0

从命令行转到eclipse目录并键入** eclipse.exe -clean ** –

+0

我使用我的CLI使用干净参数启动了eclipse。我没有看到这个论点的影响。 –

1

我看到相同的问题,并在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提供的诊断窗口底部看到相同的版本问题。

我在想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))". 
+0

我有同样的想法。试图报告它作为一个错误,但无法找到方式。我认为他们在他们的github帐户中禁用了问题报告功能。 –

+0

OSGi中具有MANIFEST请求版本X.Y的依赖关系的伙伴,AFAIK表示任何大于或等于X.Y的版本。您真正的问题是JavaSE-1.8缺失的功能。 –

相关问题