NullPointerException while creating new Portlet project in Liferay IDE

Creating new portlet project in Liferay IDE may result in NullPointerException and complaints about no IModelProvider being found for Dynamic Web Module 3.0. An example of the stack trace is below (you can see this in your $WORKSPACE/.metadata/.log -file).

This seems to result from some Eclipse components not being installed. I was able to fix the problem by installing “Eclipse Java Web Developer Tools” and “Eclipse Web Developer Tools” -packages. To do this, go to Help => Install new software. Select “all sites” from the work with drop down, enter “web” in the search box and wait a while. The user interface may freeze while Eclipse is searching for the components. Then select the components and click next from bottom of the screen.

!MESSAGE No IModelProvider exists for project P/Orbeon-4.0m5-portlet of version: Dynamic Web Module 3.0
!STACK 0
java.lang.NullPointerException: No IModelProvider exists for project P/Orbeon-4.0m5-portlet of version: Dynamic Web Module 3.0
        at org.eclipse.jst.j2ee.model.ModelProviderManager.getModelProvider(ModelProviderManager.java:101)
        at org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDelegate.populateDefaultContent(WebFacetInstallDelegate.java:261)
        at org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDelegate.createWeb30DeploymentDescriptor(WebFacetInstallDelegate.java:234)
        at org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDelegate.execute(WebFacetInstallDelegate.java:116)
        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.ModifyFacetedProjectWizard.performFinish(ModifyFacetedProjectWizard.java:400)
        at org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard.performFinish(NewProjectDataModelFacetWizard.java:282)
        at com.liferay.ide.eclipse.project.ui.wizard.NewPluginProjectWizard.performFinish(NewPluginProjectWizard.java:329)
        at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$3.run(ModifyFacetedProjectWizard.java:331)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
        at org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard$4.run(ModifyFacetedProjectWizard.java:345)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)