使用最新插件启动eclipse RCP应用程序时出错(Eclipse 4.8)

问题描述 投票:2回答:1

我正在尝试迁移eclipse RCP应用程序(Eclipse 3.7到Eclipse 4.8)。我从Eclipse 4.8复制了所有最新的必需插件并更新了我们的RCP插件。

有人可以帮助我理解除了将所需的插件更新到最新版本(在我的情况下,到Eclipse光子4.8)之外需要修改的内容

我尝试通过使用现有的config.ini文件启动应用程序时遇到错误,该文件包含我的插件文件夹中的最新插件集

PS:我能够从Eclipse Via Run配置启动应用程序

当我尝试使用现有的* .exe和config.ini文件启动rcp应用程序时出现错误错误显示为“确保org.eclipse.core.runtime包已解析并启动(请参阅config.ini) “。

Config.ini中,osgi.bundles值指定为osgi.bundles=org.eclipse.core.runtime@start,/ org.eclipse.equinox.common@start,/ org.eclipse.update.configurator,\ org.eclipse.equinox。 launcher.win32.win32.x86

下面是详细的错误日志,javax.injectorg.eclipse.core.jobs相关的版本jar在插件文件夹中可用,但我仍然得到这个错误,任何线索可能是什么原因?

!ENTRY org.eclipse.core.runtime 4 0 2018-09-07 11:26:32.798
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.core.runtime [1]
  Unresolved requirement: Require-Bundle: javax.inject; bundle-version="1.0.0"; visibility:="reexport"; resolution:="optional"
  Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"

    at org.eclipse.osgi.container.Module.start(Module.java:444)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.osgi 4 0 2018-09-07 11:26:32.807
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.core.runtime_3.14.0.v20180417-0825.jar was not resolved.

!ENTRY org.eclipse.equinox.launcher.win32.win32.x86 2 0 2018-09-07 11:26:32.811
!MESSAGE Could not resolve module: org.eclipse.equinox.launcher.win32.win32.x86 [4]
  Unresolved requirement: Fragment-Host: org.eclipse.equinox.launcher; bundle-version="[1.0.0,1.6.0)"
  Unresolved requirement: Fragment-Host: org.eclipse.equinox.launcher; bundle-version="[1.0.0,1.6.0)"


!ENTRY org.eclipse.core.runtime 2 0 2018-09-07 11:26:32.812
!MESSAGE Could not resolve module: org.eclipse.core.runtime [1]
  Unresolved requirement: Require-Bundle: javax.inject; bundle-version="1.0.0"; visibility:="reexport"; resolution:="optional"
  Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"


!ENTRY org.eclipse.osgi 4 0 2018-09-07 11:26:32.815
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:78)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
java eclipse eclipse-plugin eclipse-rcp rcp
1个回答
0
投票

那个osgi.bundles看起来并不正确,因为它只是开始两个插件。

如果您使用xxx.product文件配置RCP,请在“配置”选项卡上选择“生成默认config.ini”选项,以使Eclipse PDE为您构建config.ini。

© www.soinside.com 2019 - 2024. All rights reserved.