Сбой разведчика при запуске SWT
У меня есть странная ошибка в Scout Eclipse. Мой колледж протолкнул конус в мерзавце, и я вытащил его На его компьютере все работает хорошо, но на моем он выдает ошибку при запуске 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
Я действительно пытаюсь заставить это работать, но у меня заканчиваются идеи.
3 ответа
== Убедитесь, что вы используете ту же целевую платформу, что и ваш коллега
Откройте Настройки> Разработка плагинов> Целевая платформа. У вас должно быть такое же определение активной целевой платформы.
Если вы используете запущенную платформу в качестве определения активной цели, вы должны иметь точно такую же установку Eclipse IDE, чтобы иметь возможность сравнивать.
== Убедитесь, что вы запускаете приложение таким же образом
Откройте файл клиентского продукта, например:
/<your-app>.ui.swt/products/development/<app>-swt-client-dev.product
Нажмите на ссылку Синхронизировать в разделе тестирования на вкладке обзора. (иногда вам нужно проделать эту операцию дважды).
Запустите приложение с помощью кнопки запуска или отладки в том же разделе.
== Протестируйте другое скаутское приложение на вашем компьютере
Чтобы определить, в порядке ли ваша установка Eclipse Scout IDE, что произошло при создании тестового приложения в другой рабочей области? Вам удается это запустить?
== Проверьте содержимое вашей целевой платформы
@marko-zadravec предложил проверить, если у вас нет 2 версии org.eclipse.jface
в вашей целевой платформе.
На странице предпочтений "Целевая платформа" выберите определение активной цели в списке и нажмите кнопку " Изменить".
Перейдите на вкладку " Содержимое ". Проверьте, если у вас нет двух org.eclipse.jface
расслоения.
== Переустановите IDE
Иногда переустановка Eclipse для разработчиков Scout является самым быстрым решением для решения подобных проблем (перейдите на страницу загрузок Eclipse).
У меня была та же проблема, и я просто хотел, чтобы исправление было зарегистрировано здесь.
Я открыл файл bundles.info, расположенный в *<Eclipse_install_folder*>\configuration\org.eclipse.equinox.simpleconfigurator\
Я искал rap.jface, удалил все найденное и сохранил файл.
Затем Затмение смог начать снова.
Кстати, я использовал Eclipse Mars.
У меня была эта проблема, и исправить ее, удалив org.eclipse.rap.jface
Зависимость плагина в файле продукта клиента.
Это должно сработать (по крайней мере, для нас, потому что у нас есть только клиенты SWT).
~ Serano