Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.0.4
-
None
-
None
-
Eclipse 3.1 with Tomcat Launcher Plugin
Description
I use the Sysdeo Tomcat Launcher Plugin together with the DevLoaderClasspath extension in order to debug my application. Because this classpath extension sets the classpath for Tomcat (including my Maven Repository classpath) I do not need a WEB-INF/lib directory. (In fact, I do not want to have one on my source path.)
This causes my application to crash on startup with the following NullPointerException:
ERROR main org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/teutoFaces] - Exception sending context initialized event to listener instance of class org.apache.shale.view.faces.LifecycleListener
javax.faces.FacesException: java.lang.NullPointerException
at org.apache.shale.tiger.view.faces.LifecycleListener2.contextInitialized(LifecycleListener2.java:276)
at org.apache.shale.view.faces.LifecycleListener.contextInitialized(LifecycleListener.java:138)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.NullPointerException
at org.apache.shale.tiger.view.faces.LifecycleListener2.webArchives(LifecycleListener2.java:1513)
at org.apache.shale.tiger.view.faces.LifecycleListener2.contextInitialized(LifecycleListener2.java:263)
... 25 more
This corresponds to the following code:
List<JarFile> list = new ArrayList<JarFile>();
Set<Object> paths = servletContext.getResourcePaths(WEB_LIB_PREFIX);
for (Object pathObject : paths) {
I think a simple "if (paths != null)" should solve this issue.
Best regards,
Matthias