If I use a recent Apache TomEE Plus 1.6.0-SNAPSHOT, and put the
standard Apache Tomcat manager application context in conf/server.xml,
as is done by normal Apache Tomcat, then Apache TomEE will break in
the following way:
conf/server.xml:
<Context path="/manager" privileged="true"/>
logs/catalina.out:
INFO [main] org.apache.catalina.core.StandardEngine.startInternal
Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.42 (1.6.0-SNAPSHOT)
INFO [localhost-startStop-1]
org.apache.tomee.catalina.TomcatWebAppBuilder.init
------------------------- localhost -> /manager
SEVERE [Catalina-startStop-1]
org.apache.catalina.core.ContainerBase.startInternal A child container
failed during start
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:263)
at java.util.concurrent.FutureTask.get(FutureTask.java:122)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:345)
at java.util.concurrent.FutureTask.run(FutureTask.java:177)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.lang.Thread.run(Thread.java:779)
Caused by: java.lang.NullPointerException
at java.io.File.<init>(File.java:262)
at org.apache.tomee.catalina.Contexts.realWarPath(Contexts.java:72)
at org.apache.tomee.catalina.Contexts.warPath(Contexts.java:43)
at org.apache.tomee.catalina.TomcatWebAppBuilder.init(TomcatWebAppBuilder.java:739)
at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:103)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
... 7 more
I think this may happen for any Context defined where the WAR exists
only as an unpacked directory tree. Apache Tomcat does not fail in
this way, so I think it is Apache TomEE. If I remove the
conf/server.xml Context for /manager, and let the
manager/META-INF/context.xml be utilized, the manager application
works fine.
Any hints?
|