0

我在 Scout Eclipse 中有一些奇怪的错误。我的大学在 git 中推了一些圆锥体,然后我把它拔了出来。在他的计算机上一切正常,但在我的计算机上启动 SWT 时出现错误。

错误是:

!ENTRY org.eclipse.e4.ui.workbench 4 0 2014-06-26 09:44:21.234
!MESSAGE Unable to create class'org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon' from bundle '72'
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.LinkageError: loader constraint violation: when resolving method "org.eclipse.e4.ui.bindings.internal.BindingTable.addBinding(Lorg/eclipse/jface/bindings/Binding;)V" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, org/eclipse/e4/ui/workbench/swt/util/BindingProcessingAddon, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for the method's defining class, org/eclipse/e4/ui/bindings/internal/BindingTable, have different Class objects for the type org/eclipse/jface/bindings/Binding used in the signature
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:877)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:119)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:333)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:267)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:186)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:49)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:276)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:581)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at com.sixt.test.ldaplogintwo.ui.swt.application.Application.startSecure(Application.java:35)
at com.sixt.test.ldaplogintwo.ui.swt.application.Application$1.run(Application.java:27)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at com.sixt.test.ldaplogintwo.ui.swt.application.Application.start(Application.java:24)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
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:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "org.eclipse.e4.ui.bindings.internal.BindingTable.addBinding(Lorg/eclipse/jface/bindings/Binding;)V" the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the current class, org/eclipse/e4/ui/workbench/swt/util/BindingProcessingAddon, and the class loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for the method's defining class, org/eclipse/e4/ui/bindings/internal/BindingTable, have different Class objects for the type org/eclipse/jface/bindings/Binding used in the signature
at org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon.defineBinding(BindingProcessingAddon.java:184)
at org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon.defineBindingTable(BindingProcessingAddon.java:168)
at org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon.defineBindingTables(BindingProcessingAddon.java:151)
at org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon.init(BindingProcessingAddon.java:100)
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:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
... 31 more

我真的试图让它发挥作用,但我的想法已经不多了。

4

3 回答 3

1

== 确保您使用与您的同事相同的目标平台

打开Preferences > Plug-in development > Target Platform。您应该具有相同的活动目标平台定义。

如果您使用运行平台作为活动目标定义,您应该拥有完全相同的 Eclipse IDE 安装才能进行比较。

== 确保以相同的方式启动应用程序

打开客户端产品文件,例如:

/<your-app>.ui.swt/products/development/<app>-swt-client-dev.product

单击概览选项卡中测试部分的同步链接。(有时您需要执行两次此操作)。

使用同一部分中的运行或调试按钮启动应用程序。

Eclipse 产品文件编辑器

== 在您的计算机上测试其他侦察应用程序

要确定您的 eclipse scout IDE 安装是否正常,当您在其他工作空间中创建测试应用程序时发生了什么?你设法启动它吗?

== 验证您的目标平台的内容

org.eclipse.jface@marko-zadravec 建议验证您的目标平台中是否没有 2 版本。

在“目标平台”首选项页面中,在列表中选择您的活动目标定义,然后单击“编辑”按钮。

切换到内容选项卡。检查您是否没有两个org.eclipse.jface捆绑包。

== 重新安装IDE

有时,为 Scout Developers 重新安装 Eclipse是解决此类问题的最快解决方案(转到Eclipse 下载页面)。

于 2014-07-09T12:59:25.697 回答
1

我有同样的问题,只是想让修复在这里注册。

我打开位于 *<Eclipse_install_folder*>\configuration\org.eclipse.equinox.simpleconfigurator\

我搜索了rap.jface,删除了找到的所有内容并保存了文件。

然后 Eclipse 能够再次启动。

顺便说一句,我正在使用 Eclipse Mars。

于 2016-02-12T18:47:05.557 回答
0

我也遇到了这个问题,并通过删除org.eclipse.rap.jface客户端产品文件中的插件依赖项来解决它。

这应该可以解决问题(至少对我们来说,因为我们只有 SWT 客户端)。

~塞拉诺

于 2015-11-12T08:30:07.160 回答