使用最新插件启动eclipse RCP应用程序时出错(Eclipse 4.8)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用最新插件启动eclipse RCP应用程序时出错(Eclipse 4.8)相关的知识,希望对你有一定的参考价值。
我正在尝试迁移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.inject
和org.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)
那个osgi.bundles
看起来并不正确,因为它只是开始两个插件。
如果您使用xxx.product
文件配置RCP,请在“配置”选项卡上选择“生成默认config.ini”选项,以使Eclipse PDE为您构建config.ini。
以上是关于使用最新插件启动eclipse RCP应用程序时出错(Eclipse 4.8)的主要内容,如果未能解决你的问题,请参考以下文章
为 Eclipse RCP 项目生成默认的 config.ini