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

时间:2018-09-07 06:11:00

标签: java eclipse eclipse-plugin eclipse-rcp rcp

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

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

当我尝试通过使用现有config.ini文件和我的plugins文件夹中的最新插件集来启动应用程序时遇到错误

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相关的版本jars在plugin文件夹中可用,但是我仍然收到此错误,任何线索可能是什么原因?

!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)

1 个答案:

答案 0 :(得分:0)

osgi.bundles看起来并不正确,因为它仅启动了两个插件。

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