我们在Eclipse Indigo 3.x版本上使用基于SWT eclipse的应用程序。现在我们计划迁移到Eclipse Juno,它是4.x.我按照这里的说明进行了操作 - http://www.vogella.com/tutorials/Eclipse4MigrationGuide/article.html
在解决了一些问题之后,我被困在了以下问题:
org.osgi.framework.BundleException: The bundle "org.eclipse.ui.workbench_3.103.0.v20120530-1824 [279]" could not be resolved. Reason: Missing Constraint: Require-Bundle: org.eclipse.e4.core.services; bundle-version="1.0.0"
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)
......
......
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.ui.forms 4 0 2014-06-25 18:38:38.526
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: The activator org.eclipse.ui.internal.forms.FormsPlugin for bundle org.eclipse.ui.forms is invalid
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:172)
....
....
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/ui/plugin/AbstractUIPlugin
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
.....
org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:165)
... 12 more
我的config.ini文件:
eclipse.product=com.lehman.cmte.amm.prop.grid.client.product
osgi.splashPath=platform:/base/plugins/com.lehman.cmte.amm.prop.grid.client
osgi.bundles=org.eclipse.e4.ui.workbench.addons.swt_0.10.1.v20120523- 1955.jar@start,org.eclipse.equinox.common_3.6.100.v20120522- 1841.jar@start,org.eclipse.equinox.ds_1.4.0.v20120522-1841.jar@start,org.eclipse.equinox.event_1.2.200.v20120522-2049.jar@start,org.eclipse.equinox.util_1.0.400.v20120522-2049.jar@start,org.eclipse.ui.forms_3.5.200.v20120521-2329.jar@start,org.eclipse.ui.intro_3.4.200.v20120521-2344.jar@start,org.eclipse.e4.core.services_1.0.0.v20120521-2346.jar@start,org.eclipse.core.runtime_3.8.0.v20120521-2346.jar@start,org.eclipse.ui.workbench_3.103.0.v20120530-1824.jar@start
osgi.bundles.defaultStartLevel=4
eof=eof
我在插件中有org.eclipse.e4.core.services 1.0.0版,并将其包含在config.ini中。
我错过了什么?
在花费大量时间调试问题后,我真的很无能为力。
感谢。
更新 在@ greg-449
的评论后做出更改问题是我得到了exc:java.lang.ClassNotFoundException:org.eclipse.ui.part.MultiPageEditorPart但我在依赖项下需要插件。
我的xxx.product文件在标签概述>产品定义下选择了插件单选按钮。 我是否还需要在其他地方提供插件列表?喜欢MANIFEST.MF?如果我在运行配置下看到插件选项卡,则启用添加所需插件按钮,我已经在运行配置中包含插件,方法是单击该按钮,它包含org.eclipse.ui.workbench_xxx.jar,其中包含类org.eclipse.ui.part .MultiPageEditorPart
任何指针??