[jbosstools-issues] [JBoss JIRA] Resolved: (JBIDE-9228) Bad static constructor code in WebtoolsProjectJBossClasspathContainerInitializer

Rob Stryker (JIRA) jira-events at lists.jboss.org
Fri Jun 24 00:40:23 EDT 2011


     [ https://issues.jboss.org/browse/JBIDE-9228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Stryker resolved JBIDE-9228.
--------------------------------

    Resolution: Done


I believe I've added the proper protections here such that only declared facets are statically initialized. It'd be nice to see if xavier can still replicate it. I'll send him an email and ask him if it works :) 

> Bad static constructor code in WebtoolsProjectJBossClasspathContainerInitializer
> --------------------------------------------------------------------------------
>
>                 Key: JBIDE-9228
>                 URL: https://issues.jboss.org/browse/JBIDE-9228
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: JBossAS
>    Affects Versions: 3.3.0.M2
>            Reporter: Max Rydahl Andersen
>            Assignee: Rob Stryker
>            Priority: Critical
>             Fix For: 3.3.0.M3
>
>
> xcoulon got the following exception when running with the plugins installed that AS requires
> Problem is most likely that the class constructor code in (the static blocks) contains:
> public static final IProjectFacet WEB_FACET = ProjectFacetsManager.getProjectFacet(FACET_WEB);
>         public static final IProjectFacet EJB_FACET = ProjectFacetsManager.getProjectFacet(FACET_EJB);
>         public static final IProjectFacet EAR_FACET = ProjectFacetsManager.getProjectFacet(FACET_EAR);
>         public static final IProjectFacet UTILITY_FACET = ProjectFacetsManager.getProjectFacet(FACET_UTILITY);
>         public static final IProjectFacet CONNECTOR_FACET = ProjectFacetsManager.getProjectFacet(FACET_CONNECTOR);
>         public static final IProjectFacet APP_CLIENT_FACET = ProjectFacetsManager.getProjectFacet(FACET_APP_CLIENT);
>         public static final IProjectFacet JSF_FACET = ProjectFacetsManager.getProjectFacet(FACET_JSF);
>         public static final IProjectFacet JPA_FACET = ProjectFacetsManager.getProjectFacet(FACET_JPA);
> which my guess says will fail if those facet's are not declared/available.
> These facets should be declared as dependencies or the code fixed to handle them not being available.
>  
> java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class org.jboss.ide.eclipse.as.classpath.core.runtime.WebtoolsProjectJBossClasspathContainerInitializer
> 	at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage.performOk(FacetsPropertyPage.java:289)
> 	at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:964)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
> 	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> 	at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:944)
> 	at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:447)
> 	at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:233)
> 	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
> 	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
> 	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
> 	at org.eclipse.jface.window.Window.open(Window.java:801)
> 	at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:158)
> 	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
> 	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
> 	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
> 	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
> 	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
> 	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
> 	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
> 	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
> 	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:344)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
> 	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.jboss.ide.eclipse.as.classpath.core.runtime.WebtoolsProjectJBossClasspathContainerInitializer
> 	at org.jboss.ide.eclipse.as.classpath.core.runtime.ProjectRuntimeClasspathProvider.isPrimaryFacet(ProjectRuntimeClasspathProvider.java:86)
> 	at org.jboss.ide.eclipse.as.classpath.core.runtime.ProjectRuntimeClasspathProvider.getClasspathEntries(ProjectRuntimeClasspathProvider.java:70)
> 	at org.eclipse.jst.common.project.facet.core.internal.RuntimeClasspathProvider.getClasspathEntries(RuntimeClasspathProvider.java:51)
> 	at org.eclipse.jst.common.project.facet.core.ClasspathHelper.addClasspathEntries(ClasspathHelper.java:131)
> 	at org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDelegate.execute(WebFacetInstallDelegate.java:169)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.callDelegate(FacetedProject.java:1477)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:441)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$5.run(FacetedProject.java:1099)
> 	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChanges(FacetedProject.java:1109)
> 	at org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy.commitChanges(FacetedProjectWorkingCopy.java:2020)
> 	at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage$4.run(FacetsPropertyPage.java:232)
> 	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
> 	at org.eclipse.wst.common.project.facet.ui.internal.FacetsPropertyPage$5.run(FacetsPropertyPage.java:246)
> 	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list