我正在尝试将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.inject
和org.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)
答案 0 :(得分:0)
osgi.bundles
看起来并不正确,因为它仅启动了两个插件。
如果使用xxx.product
文件配置RCP,请选择“配置”选项卡上的“生成默认config.ini”选项,以获取Eclipse PDE为您构建config.ini。