常春藤Eclipse插件错误

时间:2014-10-20 09:02:20

标签: eclipse ivy

我在Eclipse Luna Service Release 1(4.4.1)中安装了Ivy Eclipse插件。

创建ivy.xml并选择Add Ivy Library后,我在日志文件中收到此错误:

!ENTRY org.eclipse.ui 4 0 2014-10-20 10:58:31.796
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:825)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:701)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:685)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:613)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
    at org.apache.ivy.core.settings.IvySettings.addAllVariables(IvySettings.java:610)
    at org.apache.ivy.core.settings.IvySettings.addAllVariables(IvySettings.java:604)
    at org.apache.ivy.core.settings.IvySettings.addSystemProperties(IvySettings.java:308)
    at org.apache.ivy.core.settings.IvySettings.<init>(IvySettings.java:303)
    at org.apache.ivy.core.settings.IvySettings.<init>(IvySettings.java:222)
    at org.apache.ivyde.internal.eclipse.CachedIvy.createIvySettings(CachedIvy.java:235)
    at org.apache.ivyde.internal.eclipse.CachedIvy.doGetIvy(CachedIvy.java:141)
    at org.apache.ivyde.internal.eclipse.CachedIvy.getIvy(CachedIvy.java:124)
    at org.apache.ivyde.internal.eclipse.CachedIvy.getModuleDescriptor(CachedIvy.java:340)
    at org.apache.ivyde.internal.eclipse.cpcontainer.IvydeContainerPage.checkIvyXmlPath(IvydeContainerPage.java:176)
    at org.apache.ivyde.internal.eclipse.cpcontainer.IvydeContainerPage$3.ivyXmlPathUpdated(IvydeContainerPage.java:344)
    at org.apache.ivyde.internal.eclipse.ui.IvyFilePathText.ivyXmlPathUpdated(IvyFilePathText.java:129)
    at org.apache.ivyde.internal.eclipse.ui.IvyFilePathText.textUpdated(IvyFilePathText.java:102)
    at org.apache.ivyde.internal.eclipse.ui.PathEditor$1.modifyText(PathEditor.java:75)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
    at org.eclipse.swt.widgets.Text.wmCommandChild(Text.java:2987)
    at org.eclipse.swt.widgets.Control.WM_COMMAND(Control.java:4751)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4613)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
    at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
    at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2443)
    at org.eclipse.swt.widgets.Text.callWindowProc(Text.java:260)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4705)
    at org.eclipse.swt.widgets.Text.windowProc(Text.java:2610)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
    at org.eclipse.swt.internal.win32.OS.SetWindowTextW(Native Method)
    at org.eclipse.swt.internal.win32.OS.SetWindowText(OS.java:3473)
    at org.eclipse.swt.widgets.Text.setText(Text.java:2260)
    at org.apache.ivyde.internal.eclipse.ui.IvyFilePathText.init(IvyFilePathText.java:159)
    at org.apache.ivyde.internal.eclipse.cpcontainer.IvydeContainerPage.loadFromConf(IvydeContainerPage.java:385)
    at org.apache.ivyde.internal.eclipse.cpcontainer.IvydeContainerPage.createControl(IvydeContainerPage.java:324)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:178)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:759)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:622)
    at org.eclipse.jface.window.Window.create(Window.java:435)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1101)
    at org.eclipse.jface.window.Window.open(Window.java:797)
    at org.apache.ivyde.internal.eclipse.handlers.CreateContainerHandler.execute(CreateContainerHandler.java:48)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    ... 38 more

有人可以看到,我做错了什么?

1 个答案:

答案 0 :(得分:3)

对我来说,更新到最新的Alpha版本有帮助。

HOWTO:

1)
卸载旧的Ivy eclipse插件。 帮助 - &gt;安装详细信息 - &gt;已安装的软件,选择所有Apache Ivy条目并点击卸载按钮。

2)
重启Eclipse

3)
添加新的更新站点:

帮助 - &gt;安装新软件 - &gt;添加...
名称:&#34; IvyDE Alpha-Builds更新网站&#34;
地点:&#34; https://builds.apache.org/job/IvyDE-updatesite/lastSuccessfulBuild/artifact/trunk/build/&#34;
点击&#34; OK&#34;按钮添加更新站点。

4)
在&#34;安装&#34;对话框,选择&#34; IvyDE Alpha-Builds Update网站&#34;来自&#34;使用:&#34;下拉菜单。
从列表中选择并安装所需的插件。

它还修复了我将Eclipse Luna更新为SR1后遇到的上下文菜单的问题。