gwt-eclipse-plugin icon indicating copy to clipboard operation
gwt-eclipse-plugin copied to clipboard

ClassCastException when trying to create a new GWT Module in a GWT project

Open jonsampson opened this issue 7 years ago • 1 comments

I saw this mentioned by Harry in this SO question and was able to reproduce it myself.

Steps to reproduce:

  • Create a new GWT Project (File | New | Other | GWT Application | GWT Web Application Project) and fill in a project name and package and keep the generate sample code option checked (otherwise you reach #351).
  • With the new project selected in Package Explorer, create a new GWT Module (File | New | Other | GWT Classes | GWT Module) and press the Next button.

That's it!

Plug-in:   org.eclipse.ui
Serverity: Error
Message:   Unhandled event loop exception

java.lang.ClassCastException: org.eclipse.jdt.internal.core.JarEntryFile cannot be cast to org.eclipse.core.resources.IFile
	at com.google.gwt.eclipse.core.modules.AbstractModule.getShortName(AbstractModule.java:294)
	at com.google.gwt.eclipse.core.modules.AbstractModule.getQualifiedName(AbstractModule.java:272)
	at com.google.gwt.eclipse.core.modules.ModuleJarResource.getQualifiedName(ModuleJarResource.java:1)
	at com.google.gwt.eclipse.core.modules.AbstractModule.getSimpleName(AbstractModule.java:342)
	at com.google.gwt.eclipse.core.modules.ModuleJarResource.getSimpleName(ModuleJarResource.java:1)
	at com.google.gwt.eclipse.core.modules.ModuleUtils$3.visit(ModuleUtils.java:220)
	at com.google.gwt.eclipse.core.modules.ModuleUtils$3.visit(ModuleUtils.java:1)
	at com.google.gwt.eclipse.core.modules.ModuleUtils.visitFragments(ModuleUtils.java:338)
	at com.google.gwt.eclipse.core.modules.ModuleUtils.findModule(ModuleUtils.java:212)
	at com.google.gwt.eclipse.core.wizards.NewModuleWizardPage.addCommonGWTModulesAsDefaultInherits(NewModuleWizardPage.java:367)
	at com.google.gwt.eclipse.core.wizards.NewModuleWizardPage.moduleContainerChanged(NewModuleWizardPage.java:496)
	at com.google.gwt.eclipse.core.wizards.NewModuleWizardPage.doFieldChange(NewModuleWizardPage.java:291)
	at com.google.gwt.eclipse.core.wizards.NewModuleWizardPage.handleFieldChanged(NewModuleWizardPage.java:322)
	at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.containerDialogFieldChanged(NewContainerWizardPage.java:319)
	at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.access$1(NewContainerWizardPage.java:314)
	at org.eclipse.jdt.ui.wizards.NewContainerWizardPage$ContainerFieldAdapter.dialogFieldChanged(NewContainerWizardPage.java:300)
	at org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField.dialogFieldChanged(DialogField.java:75)
	at org.eclipse.jdt.internal.ui.wizards.dialogfields.StringDialogField.setText(StringDialogField.java:180)
	at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.setPackageFragmentRoot(NewContainerWizardPage.java:470)
	at org.eclipse.jdt.ui.wizards.NewContainerWizardPage.initContainerPage(NewContainerWizardPage.java:163)
	at com.google.gwt.eclipse.core.wizards.NewModuleWizardPage.initModulePage(NewModuleWizardPage.java:328)
	at com.google.gwt.eclipse.core.wizards.NewModuleWizard.addPages(NewModuleWizard.java:55)
	at org.eclipse.jface.wizard.WizardSelectionPage.getNextPage(WizardSelectionPage.java:116)
	at org.eclipse.ui.internal.dialogs.WorkbenchWizardSelectionPage.getNextPage(WorkbenchWizardSelectionPage.java:98)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:869)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:419)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5219)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4553)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4143)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
	at org.eclipse.jface.window.Window.open(Window.java:794)
	at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:269)
	at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
	at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:488)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
	at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:353)
	at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:155)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
	at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:397)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5219)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4553)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4143)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
	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: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:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1492)

Followed by:

Session Data:

eclipse.buildId=4.6.1.M20160907-1200
java.version=1.8.0_112
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product --launcher.GTK_version 2
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product --launcher.GTK_version 2

This is a continuation of log file /home/user/workspace/.metadata/.bak_0.log
Created Time: 2017-05-02 11:19:21.409

There's nothing interesting/new in that .bak_0.log in my case.

Edit:

GWT Eclipse Plugin version 3.0.0.2017032721

jonsampson avatar May 03 '17 15:05 jonsampson

Any ETA on this? Still seeing this same bug in eclipse 4.14.

pbtura avatar Feb 05 '20 20:02 pbtura