【问题标题】:Eclipse Marketplace client installed but missingEclipse Marketplace 客户端已安装但缺失
【发布时间】:2014-08-05 08:35:37
【问题描述】:

安装详情:

包: 面向 Web 开发人员的 Eclipse Java EE IDE。

版本: Luna Release (4.4.0)

版本号: 20140612-0600

操作系统: Windows 7

问题:

Eclipse 市场客户端已从 Eclipse 的下拉帮助菜单中消失:

尽管插件已安装并且是最新的。我可以在已安装的软件部分看到这一点:

我尝试重新安装插件并运行-clean,但没有任何改变,有什么想法吗?

【问题讨论】:

    标签: eclipse ide


    【解决方案1】:

    插件安装时可能存在 p2 未检测到的类加载问题。

    在这种情况下,您将看到该插件已安装,因为它存在于 Eclipse 的 p2 元数据中。然而,OSGi 框架可能无法在运行时解析插件/捆绑包的依赖关系。之所以会出现这种差异,是因为 p2 引擎和 OSGi 框架使用不同的方式来解决依赖关系。 p2 引擎在存在多个版本的情况下不太准确,并且可以允许您安装无法运行的插件。甚至可以通过安装一些完全不相关的东西来破坏现有的插件,这些插件会带来额外版本的第三方库,如日志记录。通常,OSGi 检测到插件/包需要加载同一个 java 包的两个版本。这种版本控制冲突称为“使用约束冲突”。

    Window->Show View->Error log 打开“错误日志视图”。在与“org.eclipse.epp.mpc.*”插件相关的标题中查找带有“FrameworkEvent ERROR”的日志。

    这里是一个版本冲突的例子,它是由于需要 org.eclipse.epp.mpc.ui 同时加载 org.apache.commons.logging 包的两个版本而引起的。我可以通过从“插件”目录中删除 jcl.over.slf4j jar 来解决这个问题。这让 Eclipse/p2 认为已删除的 jar 仍然安装,因为 p2 在其元数据中有关于它的记录。实际上,我们只在运行时加载一个版本的包——由 org.apache.commons.logging 插件导出的那个。

    org.osgi.framework.BundleException: Could not resolve module: org.eclipse.epp.mpc.ui [334]
      Unresolved requirement: Require-Bundle: org.eclipse.epp.mpc.core; bundle-version="1.3.0"
        -> Bundle-SymbolicName: org.eclipse.epp.mpc.core; bundle-version="1.3.1.v20140820-1706"
           org.eclipse.epp.mpc.core [332]
             No resolution report for the bundle.  Bundle was not resolved because of a uses contraint violation.
      org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.epp.mpc.core [osgi.identity; osgi.identity="org.eclipse.epp.mpc.core"; type="osgi.bundle"; version:Version="1.3.1.v20140820-1706"] because it is exposed to package 'org.apache.commons.logging' from resources org.apache.commons.logging [osgi.identity; osgi.identity="org.apache.commons.logging"; type="osgi.bundle"; version:Version="1.0.4.v201101211617"] and jcl.over.slf4j [osgi.identity; osgi.identity="jcl.over.slf4j"; type="osgi.bundle"; version:Version="1.7.2"] via two dependency chains.
    
    Chain 1:
      org.eclipse.epp.mpc.core [osgi.identity; osgi.identity="org.eclipse.epp.mpc.core"; type="osgi.bundle"; version:Version="1.3.1.v20140820-1706"]
        require: (&(osgi.wiring.bundle=org.apache.commons.logging)(bundle-version>=1.0.4))
         |
        provide: osgi.wiring.bundle: org.apache.commons.logging
      org.apache.commons.logging [osgi.identity; osgi.identity="org.apache.commons.logging"; type="osgi.bundle"; version:Version="1.0.4.v201101211617"]
    
    Chain 2:
      org.eclipse.epp.mpc.core [osgi.identity; osgi.identity="org.eclipse.epp.mpc.core"; type="osgi.bundle"; version:Version="1.3.1.v20140820-1706"]
        import: (&(osgi.wiring.package=org.apache.http.impl.client)(version>=4.1.0))
         |
        export: osgi.wiring.package=org.apache.http.impl.client; uses:=org.apache.commons.logging
      org.apache.httpcomponents.httpclient [osgi.identity; osgi.identity="org.apache.httpcomponents.httpclient"; type="osgi.bundle"; version:Version="4.2.6.v201311072007"]
        import: (&(osgi.wiring.package=org.apache.commons.logging)(version>=1.1.1))
         |
        export: osgi.wiring.package: org.apache.commons.logging
      jcl.over.slf4j [osgi.identity; osgi.identity="jcl.over.slf4j"; type="osgi.bundle"; version:Version="1.7.2"]
    

    【讨论】:

      【解决方案2】:

      可能右键单击透视图标并选择 重置 将更新菜单以具有新安装的项目。

      【讨论】:

        【解决方案3】:

        重新安装
        Oomph 设置 - org.eclipse.oomph.setup.feature.group Oomph 设置 SDK - org.eclipse.oomph.setup.sdk.feature.group

        帮我解决问题

        【讨论】:

        • 请问您是如何重新安装的?我面临同样的问题
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-19
        • 2021-12-28
        • 2020-05-11
        • 1970-01-01
        相关资源
        最近更新 更多