Hello,
I've tried this on FreeBSD 5 with Tomcat 5.0.27 and on Windows XP with Tomcat 5.0.24. Both using JDK 1.4.2.
I made a war file of my webapp with the name crm.war. The war file contains this context.xml in the META-INF directory.
<?xml version='1.0' encoding='utf-8'?> <Context docBase="crm.war" path=""> </Context>
When I upload/deploy this via Tomcat Manager, Tomcat tries to start the context twice. Once with path "" and once with path "/crm". This results in the following stacktrace. Tomcat Manager does show two deployed contexts after clicking 'List Applications' again. So the stacktrace/exception doesn't prevent it from starting the contexts.
Begin stacktrace
13-aug-2004 10:59:21 org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/C:/Tomcat5/conf/Catalina/localhost/crm.xml 13-aug-2004 10:59:21 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application from URL jar:file:/C:/Tomcat5/webapps/crm.war!/
13-aug-2004 11:00:54 org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:C:\Tomcat5\conf\Catalina\localhost\crm.xml 13-aug-2004 11:00:54 org.apache.commons.digester.Digester endElement SEVERE: End event threw exception java.lang.reflect.InvocationTargetException �������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:324) �������at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252) �������at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256) �������at org.apache.commons.digester.Rule.end(Rule.java:276) �������at org.apache.commons.digester.Digester.endElement(Digester.java:1058) �������at org.apache.catalina.util.CatalinaDigester.endElement(CatalinaDigester.java:76) �������at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) �������at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) �������at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) �������at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) �������at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) �������at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) �������at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) �������at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) �������at org.apache.commons.digester.Digester.parse(Digester.java:1567) �������at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:488) �������at org.apache.catalina.core.StandardHost.install(StandardHost.java:863) �������at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482) �������at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) �������at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1064) �������at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327) �������at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) �������at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800) �������at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619) �������at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628) �������at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608) �������at java.lang.Thread.run(Thread.java:534) Caused by: java.lang.IllegalStateException: Context path� is already in use �������at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:896) �������... 30 more 13-aug-2004 11:00:54 org.apache.catalina.startup.HostConfig deployDescriptors SEVERE: Error deploying configuration descriptor crm.xml java.io.IOException: java.lang.IllegalStateException: Context path� is already in use �������at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:494) �������at org.apache.catalina.core.StandardHost.install(StandardHost.java:863) �������at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:482) �������at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427) �������at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1064) �������at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327) �������at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) �������at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800) �������at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619) �������at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628) �������at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608) �������at java.lang.Thread.run(Thread.java:534) 13-aug-2004 11:00:54 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /crm from URL file:C:/Tomcat5/webapps/crm
13-aug-2004 11:00:58 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /crm from URL file:C:/Tomcat5/webapps/crm
End stacktrace
Does anybody use this? Is this a known problem?
Greetings,
Ronald.
