[
https://issues.jboss.org/browse/JBIDE-10639?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich edited comment on JBIDE-10639 at 1/18/12 7:44 PM:
------------------------------------------------------------------------
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 so that velocity was activated 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.
was (Author: scabanovich):
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