I'm hoping someone can shed some light on my problem. I'm trying to upgrade from 4.0.6 to 4.1.16b and I'm finding that I'm unable to access any JAR's in WEB-INF/lib. Here's what I'm getting from localhost_log:
2002-12-04 03:09:17 StandardContext[]: Starting
2002-12-04 03:09:17 StandardContext[]: Processing start(), current available=false
2002-12-04 03:09:17 StandardContext[]: Configuring default Resources
2002-12-04 03:09:17 StandardContext[]: Configuring non-privileged default Loader
2002-12-04 03:09:17 StandardContext[]: Configuring default Manager
2002-12-04 03:09:17 StandardContext[]: Processing standard container startup
2002-12-04 03:09:17 WebappLoader[]: Deploying class repositories to work directory D:\Morpheus\Dev\PharmGen\runtime\tomcat\work\Standalone\localhost\_
2002-12-04 03:09:17 WebappLoader[]: Deploy class files /WEB-INF/classes to d:\Morpheus\Dev\PharmGen\www\WEB-INF\classes
2002-12-04 03:09:17 WebappLoader[]: Deploy JAR /WEB-INF/lib/xalan.jar to d:\Morpheus\Dev\PharmGen\www\WEB-INF\lib\xalan.jar
2002-12-04 03:09:17 WebappLoader[]: Deploy JAR /WEB-INF/lib/xercesImpl.jar to d:\Morpheus\Dev\PharmGen\www\WEB-INF\lib\xercesImpl.jar
2002-12-04 03:09:17 WebappLoader[]: Deploy JAR /WEB-INF/lib/xmlParserAPIs.jar to d:\Morpheus\Dev\PharmGen\www\WEB-INF\lib\xmlParserAPIs.jar
2002-12-04 03:09:17 WebappLoader[]: Reloading checks are enabled for this Context
2002-12-04 03:09:17 ContextConfig[]: ContextConfig: Processing START
2002-12-04 03:09:17 StandardContext[]: Setting deployment descriptor public ID to '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
2002-12-04 03:09:18 StandardContext[]: Setting deployment descriptor public ID to '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN'
2002-12-04 03:09:18 ContextConfig[]: Accumulating TLD resource paths
2002-12-04 03:09:18 ContextConfig[]: Scanning <taglib> elements in web.xml
2002-12-04 03:09:18 ContextConfig[]: Scanning TLDs in /WEB-INF subdirectory
2002-12-04 03:09:18 ContextConfig[]: Scanning JARs in /WEB-INF/lib subdirectory
2002-12-04 03:09:18 ContextConfig[]: Scanning JAR at resource path '/WEB-INF/lib/xmlParserAPIs.jar'
2002-12-04 03:09:18 ContextConfig[] Exception processing JAR at resource path /WEB-INF/lib/xmlParserAPIs.jar
javax.servlet.ServletException: Exception processing JAR at resource path /WEB-INF/lib/xmlParserAPIs.jar
at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:930)
at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:868)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:647)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3567)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
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:512)
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)
----- Root Cause -----
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(File.java:1313)
at java.io.File.createTempFile(File.java:1401)
at java.io.File.createTempFile(File.java:1438)
at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:169)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:164)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:42)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:78)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:85)
at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:69)
at org.apache.catalina.startup.ContextConfig.tldScanJar(ContextConfig.java:906)
at org.apache.catalina.startup.ContextConfig.tldScan(ContextConfig.java:868)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:647)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3567)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
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:512)
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)
I'm running Tomcat 4.1.16b on WinXP with JDK 1.4.1. I've attached a copy of my server.xml file. My app works fine under Tomcat 4.0.6. Does anyone have any ideas? Am I doing something wrong, or is there a bug in Tomcat?
Thanks,
-Mark
<!-- A "Server" is a singleton element that represents the entire JVM, which may contain one or more "Service" instances. The Server listens for a shutdown command on the indicated port.
Note: A "Server" is not itself a "Container", so you may not define subcomponents such as "Valves" or "Loggers" at this level. --> <Server port="6668" shutdown="SHUTDOWN" debug="0"> <!-- A "Service" is a collection of one or more "Connectors" that share a single "Container" (and therefore the web applications visible within that Container). Normally, that Container is an "Engine", but this is not required. Note: A "Service" is not itself a "Container", so you may not define subcomponents such as "Valves" or "Loggers" at this level. --> <!-- Define the Tomcat Stand-Alone Service --> <Service name="Tomcat-Standalone" debug="0"> <!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Each Connector passes requests on to the associated "Container" (normally an Engine) for processing. By default, a non-SSL HTTP/1.1 Connector is established on port 6666 You can also enable an SSL HTTP/1.1 Connector on port 8443 by following the instructions below and uncommenting the second Connector entry. SSL support requires the following steps (see the SSL Config HOWTO in the Tomcat 4.0 documentation bundle for more detailed instructions): * Download and install JSSE 1.0.2 or later, and put the JAR files into "$JAVA_HOME/jre/lib/ext". * Execute: %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows) $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix) with a password value of "changeit" for both the certificate and the keystore itself. By default, DNS lookups are enabled when a web application calls request.getRemoteHost(). This can have an adverse impact on performance, so you can disable it by setting the "enableLookups" attribute to "false". When DNS lookups are disabled, request.getRemoteHost() will return the String version of the IP address of the remote client. --> <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 6666 Note : To disable connection timeouts, set connectionTimeout value to -1 --> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="6666" minProcessors="5" maxProcessors="75" enableLookups="false" redirectPort="8443" acceptCount="10" connectionTimeout="60000" debug="0" useURIValidationHack="false" /> <!-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). --> <Engine name="Standalone" defaultHost="localhost" debug="0"> <!-- Global logger unless overridden at lower levels --> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="catalina_log." suffix=".txt" timestamp="true"/> <!-- Define the default virtual host --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" debug="0"> <!-- Normally, users must authenticate themselves to each web app individually. Uncomment the following entry if you would like a user to be authenticated the first time they encounter a resource protected by a security constraint, and then have that user identity maintained across *all* web applications contained in this virtual host. --> <Valve className="org.apache.catalina.authenticator.SingleSignOn" debug="0"/> <!-- Access log processes all requests for this virtual host. By default, log files are created in the "logs" directory relative to $CATALINA_HOME. If you wish, you can specify a different directory with the "directory" attribute. Specify either a relative (to $CATALINA_HOME) or absolute path to the desired directory. --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> <!-- Logger shared by all Contexts related to this virtual host. By default (when using FileLogger), log files are created in the "logs" directory relative to $CATALINA_HOME. If you wish, you can specify a different directory with the "directory" attribute. Specify either a relative (to $CATALINA_HOME) or absolute path to the desired directory.--> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/> <!-- Define properties for each web application. This is only needed if you want to set non-default properties, or have web application document roots in places other than the virtual host's appBase directory. --> <!-- Tomcat Root Context --> <Context path="" docBase="d:/Morpheus/Dev/PharmGen/www" reloadable="true" debug="2" /> </Host> </Engine> </Service> </Server>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>