Project: Tomcat
Bug 55702 TLD cannot be loaded if CATALINA_HOME contains spaces
Reported: 2013-10-25 10:03:35 | Status: resolved fixed

A web application containing an own TLD within its WEB-INF directory fails to render a JSP page referencing that TLD if Tomcat it installed into a directory with spaces in the path, such as "C:\Program Files\...". After moving the entire Tomcat installation directory to a path without spaces (such as "C:\1\Tomcat8"), the application can render that same JSP page. Following stacktrace is printed. Note the %20 in the file path org.apache.jasper.JasperException: /jsp/layouts/standard.jsp (line: 7, column: 69) File "file:/C:/Program%20Files/Apache/Tomcat-8.0.0-RC5/webapps/mywebapp/WEB-INF/tlds/mywebapp-tags.tld" not found org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:276) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:92) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:166) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:476) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1451) org.apache.jasper.compiler.Parser.parse(Parser.java:138) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242) org.apache.jasper.compiler.ParserController.parse(ParserController.java:102) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:606) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:403) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:347) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) Java version used: Oracle JDK 7 Update 45 (64 Bit) Active Tomcat connector: ["http-nio-8080"]

Files changed in fix:
java/org/apache/jasper/compiler/TagLibraryInfoImpl.java