[jbosstools-issues] [JBoss JIRA] (JBIDE-10639) Can't create JSF project

Viacheslav Kabanovich (JIRA) jira-events at lists.jboss.org
Wed Jan 18 19:44:18 EST 2012


    [ https://issues.jboss.org/browse/JBIDE-10639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660381#comment-12660381 ] 

Viacheslav Kabanovich commented on JBIDE-10639:
-----------------------------------------------

Velocity loads implementations of its basic interfaces (e.g. ResourceManager) with context class loader. Eclipse sets context class loader to ContextFinder which seems can find any class loaded in current Eclipse session, and it does that by looking for class in all class loaders in the order of their activation. That means that if first a project was created from JBoss Central activated velocity through Maven plugins, then, at creating a JSF project, ContextFinder finds ResourceManagerImpl loaded by Maven plugin instead of creating new instance in the context of JSF plugins.

A solution to the problem is setting context class loader to that of class invoking velocity, and restoring old value when the task is completed.
                
> Can't create JSF project
> ------------------------
>
>                 Key: JBIDE-10639
>                 URL: https://issues.jboss.org/browse/JBIDE-10639
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: JSF
>    Affects Versions: 3.3.0.Beta1
>            Reporter: Alexey Kazakov
>            Assignee: Viacheslav Kabanovich
>            Priority: Blocker
>             Fix For: 3.3.0.Beta1
>
>
> I just tried to created JSF 2 KickStart project via JBossTools Wizard and got:
> {code}
> java.lang.NullPointerException
> 	at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1003)
> 	at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:972)
> 	at org.apache.velocity.runtime.RuntimeSingleton.parse(RuntimeSingleton.java:265)
> 	at org.apache.velocity.app.Velocity.evaluate(Velocity.java:274)
> 	at org.jboss.tools.jst.web.ui.operation.TemplatePreprocessor.process(TemplatePreprocessor.java:92)
> 	at org.jboss.tools.jst.web.ui.operation.TemplatePreprocessor.execute(TemplatePreprocessor.java:58)
> 	at org.jboss.tools.jst.web.ui.operation.WebNatureOperation.preprocessTemplate(WebNatureOperation.java:594)
> 	at org.jboss.tools.jsf.ui.operation.JSFProjectCreationOperation.copyTemplate(JSFProjectCreationOperation.java:114)
> 	at org.jboss.tools.jst.web.ui.operation.WebProjectCreationOperation.preCreateWebNature(WebProjectCreationOperation.java:76)
> 	at org.jboss.tools.jst.web.ui.operation.WebNatureOperation.run(WebNatureOperation.java:222)
> 	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69)
> 	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106)
> 	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
> 	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118)
> 	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
> 	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
> 	at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1029)
> 	at org.jboss.tools.jst.web.ui.wizards.project.NewWebProjectWizard.performFinish(NewWebProjectWizard.java:66)
> 	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827)
> 	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432)
> 	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:1258)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
> 	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
> 	at org.eclipse.jface.window.Window.open(Window.java:801)
> 	at org.eclipse.ui.actions.NewProjectAction.run(NewProjectAction.java:117)
> 	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:1258)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
> 	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)
> ...
> org.eclipse.core.runtime.CoreException: java.lang.NullPointerException
> 	at org.jboss.tools.jst.web.ui.operation.WebProjectCreationOperation.preCreateWebNature(WebProjectCreationOperation.java:81)
> 	at org.jboss.tools.jst.web.ui.operation.WebNatureOperation.run(WebNatureOperation.java:222)
> 	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69)
> 	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106)
> 	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
> 	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118)
> 	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
> 	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
> 	at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1029)
> 	at org.jboss.tools.jst.web.ui.wizards.project.NewWebProjectWizard.performFinish(NewWebProjectWizard.java:66)
> 	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827)
> 	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432)
> 	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:1258)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
> 	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
> 	at org.eclipse.jface.window.Window.open(Window.java:801)
> 	at org.eclipse.ui.actions.NewProjectAction.run(NewProjectAction.java:117)
> 	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:1258)
> 	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
> 	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.NullPointerException
> 	at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:1003)
> 	at org.apache.velocity.runtime.RuntimeInstance.parse(RuntimeInstance.java:972)
> 	at org.apache.velocity.runtime.RuntimeSingleton.parse(RuntimeSingleton.java:265)
> 	at org.apache.velocity.app.Velocity.evaluate(Velocity.java:274)
> 	at org.jboss.tools.jst.web.ui.operation.TemplatePreprocessor.process(TemplatePreprocessor.java:92)
> 	at org.jboss.tools.jst.web.ui.operation.TemplatePreprocessor.execute(TemplatePreprocessor.java:58)
> 	at org.jboss.tools.jst.web.ui.operation.WebNatureOperation.preprocessTemplate(WebNatureOperation.java:594)
> 	at org.jboss.tools.jsf.ui.operation.JSFProjectCreationOperation.copyTemplate(JSFProjectCreationOperation.java:114)
> 	at org.jboss.tools.jst.web.ui.operation.WebProjectCreationOperation.preCreateWebNature(WebProjectCreationOperation.java:76)
> 	... 49 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list