I have moved my Context declarations from the server.xml file to a
META-INF/context.xml file in my war file.

When I copy my war to the webapp folder and start tomcat I get the following
error:
(my caught exception)
SEVERE: Big problem connecting to the database.
java.sql.SQLException: Cannot load JDBC driver class 'null'
        at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.jav
a:529)
        at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:3
12)
        at
org.ikeda.reality.servlets.admin.StartupServlet.init(StartupServlet.java:141
)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:92
4)
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
3341)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3534)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:8
21)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j
ava:257)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:502)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:410)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:166)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:497)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2189)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        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.catalina.startup.Bootstrap.main(Bootstrap.java:203)

This occurs on start up after:
Starting service Tomcat-Standalone
Apache Tomcat/4.1.12

If I place the context.xml file (renamed to the name of my app +.xml) and
place the war in the webapp folder I get the following error:
16/12/2002 11:04:11 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:228)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:260)
        at
org.apache.commons.digester.Digester.endElement(Digester.java:1036)
        at
org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.jav
a:579)
        at
org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java
:646)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.
java:1972)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:8
78)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(XMLDo
cumentFragmentScannerImpl.java:1144)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocu
mentFragmentScannerImpl.java:987)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatc
her.dispatch(XMLDocumentFragmentScannerImpl.java:1445
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333)
        at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:524)
        at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:580)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
        at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:116
9)
        at org.apache.commons.digester.Digester.parse(Digester.java:1514)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j
ava:335)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:803)
        at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:452
)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:409)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:166)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:497)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2189)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        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.catalina.startup.Bootstrap.main(Bootstrap.java:203)
Caused by: java.lang.IllegalArgumentException: Document base
..\webapps\reality does not exist or is not a readable directory
        at
org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:19
3)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3397)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:8
21)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
        at
org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.
java:529)
        ... 41 more
16/12/2002 11:04:12 org.ikeda.reality.servlets.admin.StartupServlet init
INFO: Replace each mark (?) with the other (?) symbol (?)
16/12/2002 11:04:12 org.ikeda.reality.servlets.admin.StartupServlet init
SEVERE: Big problem connecting to the database.
java.sql.SQLException: Cannot load JDBC driver class 'null'
        at
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.jav
a:529)
        at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:3
12)
        at org.ikeda.reality.servlets.admin.StartupServlet.init(StartupServl
et.java:141)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:92
4)
        at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
3341)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3534)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:8
21)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
        at
org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j
ava:257)
        at
org.apache.catalina.core.StandardHost.install(StandardHost.java:772)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:502)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:410)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:879)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:368)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:166)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:738)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:497)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2189)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:510)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
        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.catalina.startup.Bootstrap.main(Bootstrap.java:203)
16/12/2002 11:04:13 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8080
16/12/2002 11:04:13 org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on tcp port 8009
16/12/2002 11:04:13 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/120
config=K:\Extensions\jakarta-tomcat-4.1.12\bin\..\conf\jk2.properties

But if I restart the server after the previous error, there isn't a problem
(because the app folder has been created).

My context.xml file is setup to create a JNDI Datasource to a jdbc:odbc data
source. Leaving the context details in the server.xml file isn't causing any
problems, but I don't want to have to edit a clients server.xml file each
time they install my web app.

I'm using Tomcat 4.1.12.

Cheers,
Anthony




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to