Eclipse Marketplace客户端已安装但缺失

dka*_*ejs 8 eclipse ide

安装细节:

包:用于Web开发人员的Eclipse Java EE IDE.

版本: Luna Release(4.4.0)

构建ID: 20140612-0600

操作系统: Windows 7

问题:

Eclipse市场中的下拉帮助菜单中缺少Eclipse市场客户端:

没有出现在帮助菜单中

虽然,该插件已安装并且是最新的.我可以在已安装的软件部分看到这个:

插件在已安装的部分中可见

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

Tod*_*oev 7

插件有可能出现类加载问题,安装它时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包的两个版本所导致的版本控制冲突的示例.我能够通过从"plugins"目录中删除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"]
Run Code Online (Sandbox Code Playgroud)