You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2002/08/06 08:06:01 UTC

DO NOT REPLY [Bug 11489] New: - Scanning JAR files in WEB-INF/lib without temp directory

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11489>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11489

Scanning JAR files in WEB-INF/lib without temp directory

           Summary: Scanning JAR files in WEB-INF/lib without temp directory
           Product: Tomcat 4
           Version: 4.1.8
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Catalina
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: juergen.hoeller@infoniqa.com


Scanning JAR files in WEB-INF/lib for TLDs does not work if there is no "temp" 
directory in CATALINA_BASE. Especially using a CATALINA_BASE different from 
CATALINA_HOME is tricky: You have to create "temp" there first. IMHO Tomcat 
should create "temp" automatically if it does not already exist! This issue 
exists in both Tomcat 4.1.8 and 4.0.4.

In Tomcat 4.1.8 with JSTL, the context does not load because of the following 
exception:

2002-08-06 07:33:10 ContextConfig[] Exception processing JAR at resource 
path /WEB-INF/lib/jstl.jar
javax.servlet.ServletException: Exception processing JAR at resource path /WEB-
INF/lib/jstl.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:3445)
	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:2188)
	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)
----- Root Cause -----
java.io.IOException: Das System kann den angegebenen Pfad nicht finden
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.checkAndCreate(File.java:1294)
	at java.io.File.createTempFile(File.java:1382)
	at java.io.File.createTempFile(File.java:1419)
	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:3445)
	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:2188)
	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)

Note: The German "Das System kann den angegebenen Pfad nicht finden" means "The 
system cannot find the specified path".

In Tomcat 4.0.4 with JSTL, the context processes but nevertheless does not load 
the TLDs. Instead, it throws the following exception at page access time:

org.apache.jasper.JasperException: This absolute uri 
(http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar 
files deployed with this application
	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>
(TagLibraryInfoImpl.java:194)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>
(TagLibraryInfoImpl.java:174)
	at 
org.apache.jasper.compiler.JspParseEventListener.processTaglibDirective
(JspParseEventListener.java:1170)
	at org.apache.jasper.compiler.JspParseEventListener.handleDirective
(JspParseEventListener.java:765)
	at org.apache.jasper.compiler.DelegatingListener.handleDirective
(DelegatingListener.java:125)
	at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:255)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1145)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1103)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1099)
	at org.apache.jasper.compiler.ParserController.parse
(ParserController.java:214)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
	at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
	at 
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary
(JspServlet.java:176)
	at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service
(JspServlet.java:188)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile
(JspServlet.java:381)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.valves.CertificatesValve.invoke
(CertificatesValve.java:246)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2347)
	at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke
(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process
(HttpProcessor.java:1027)
	at org.apache.catalina.connector.http.HttpProcessor.run
(HttpProcessor.java:1125)
	at java.lang.Thread.run(Thread.java:536)

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>