[
https://issues.jboss.org/browse/JBIDE-9228?page=com.atlassian.jira.plugin...
]
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