You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Gmail User <no...@gmail.com> on 2007/06/02 09:31:18 UTC

Upgrade to TC6 is breaking the app

I am trying to migrate my app from TC5.5.15 to TC6.0.13 under Linux with
JRE1.6.0_01. I basically started with a fresh copy of TC and copied a
virtual host definition to the new version.

All pages use the same JSTL libraries and all work under TC5.5.15. Under
TC6.0.13, All pages under the root of the virtual host are OK; all in
directories below fail when accessed directly. A typical error I get is:


---------------------
Type Exception report

message 

description The server encountered an internal error () that prevented
it from fulfilling this request.

exception 

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
	org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
	org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
	org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:420)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:476)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1426)
	org.apache.jasper.compiler.Parser.parse(Parser.java:133)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache
Tomcat/6.0.13 logs.
------------------


On subsequent request, this error changes to:


------------------
type Exception report

message 

description The server encountered an internal error () that prevented
it from fulfilling this request.

exception 

org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause 

org.apache.jasper.JasperException: Unable to load class for JSP
	org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:600)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause 

java.lang.ClassNotFoundException: org.apache.jsp.top_005ffavorites_jsp
	java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	java.security.AccessController.doPrivileged(Native Method)
	java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
	org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache
Tomcat/6.0.13 logs.
-----------------


And these errors keep alternating back and forth.

Come to think, it was probably a reason why I never moved up the TC5.5.x
branch, since with TC5.5.16 things started breaking and I did not have a
chance to investigate then.

The server log does not help much, since the errors are way too cryptic
for me to decide anything based on them. Example,

-------------
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: org.apache.jsp.top_005ffavorites_jsp
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
        at
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
        at
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
        at
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint
$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
--------------

An interesting aspect of this error is, indeed, the fact that
top_favorites.jsp is in an include directory, so not directly in the
root of the site. Yet, it seems that TC6.0.13 is looking for it in the
root when requested directly. When it is included from a page in the
root of the site, however, top_favorites.jsp gets compiled and included
just fine.

What am I missing?


TIA,

Ed


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Upgrade to TC6 is breaking the app

Posted by Gmail User <no...@gmail.com>.
> The quickest solution is create
> appBase/ROOT, copy the contents of appBase to ROOT and set docBase to ROOT

Wow! Right on. Thanks a lot!

Ed


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Upgrade to TC6 is breaking the app

Posted by Mark Thomas <ma...@apache.org>.
Gmail User wrote:
> I am trying to migrate my app from TC5.5.15 to TC6.0.13 under Linux with
> JRE1.6.0_01. I basically started with a fresh copy of TC and copied a
> virtual host definition to the new version.
> 
> All pages use the same JSTL libraries and all work under TC5.5.15. Under
> TC6.0.13, All pages under the root of the virtual host are OK; all in
> directories below fail when accessed directly.

At a guess you have set appBase for your host == docBase for the ROOT
webapp. This was never correct but used to work as a side-effect of a
bug that was fixed 5.5.16. The quickest solution is create
appBase/ROOT, copy the contents of appBase to ROOT and set docBase to ROOT

HTH,

Mark


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Upgrade to TC6 is breaking the app

Posted by Gmail User <no...@gmail.com>.
> No idea, just a thought though: Tomcat 6 seems to require all your add
> on jar libraries to go in /lib instead of /common/lib Are you sure you
> do not have any special jar libraries that must go in there?

Thanks for the input. I was aware of that requirement from the
migration notes. The only JAR I kept with TC libs was MySQL connector
and I have it there.

Ed

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Upgrade to TC6 is breaking the app

Posted by Jacob Rhoden <ja...@rhoden.id.au>.
No idea, just a thought though: Tomcat 6 seems to require all your add 
on jar libraries to go in /lib instead of /common/lib Are you sure you 
do not have any special jar libraries that must go in there?

Gmail User wrote:
> I am trying to migrate my app from TC5.5.15 to TC6.0.13 under Linux with
> JRE1.6.0_01. I basically started with a fresh copy of TC and copied a
> virtual host definition to the new version.
>
> All pages use the same JSTL libraries and all work under TC5.5.15. Under
> TC6.0.13, All pages under the root of the virtual host are OK; all in
> directories below fail when accessed directly. A typical error I get is:
>
>
> ---------------------
> Type Exception report
>
> message 
>
> description The server encountered an internal error () that prevented
> it from fulfilling this request.
>
> exception 
>
> org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
> 	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
> 	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
> 	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
> 	org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
> 	org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
> 	org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:420)
> 	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:476)
> 	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1426)
> 	org.apache.jasper.compiler.Parser.parse(Parser.java:133)
> 	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
> 	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
> 	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
> 	org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
> 	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
> 	org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
> 	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> note The full stack trace of the root cause is available in the Apache
> Tomcat/6.0.13 logs.
> ------------------
>
>
> On subsequent request, this error changes to:
>
>
> ------------------
> type Exception report
>
> message 
>
> description The server encountered an internal error () that prevented
> it from fulfilling this request.
>
> exception 
>
> org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
> 	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> root cause 
>
> org.apache.jasper.JasperException: Unable to load class for JSP
> 	org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:600)
> 	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> root cause 
>
> java.lang.ClassNotFoundException: org.apache.jsp.top_005ffavorites_jsp
> 	java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> 	java.security.AccessController.doPrivileged(Native Method)
> 	java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> 	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
> 	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
> 	org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
> 	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> note The full stack trace of the root cause is available in the Apache
> Tomcat/6.0.13 logs.
> -----------------
>
>
> And these errors keep alternating back and forth.
>
> Come to think, it was probably a reason why I never moved up the TC5.5.x
> branch, since with TC5.5.16 things started breaking and I did not have a
> chance to investigate then.
>
> The server log does not help much, since the errors are way too cryptic
> for me to decide anything based on them. Example,
>
> -------------
> SEVERE: Servlet.service() for servlet jsp threw exception
> java.lang.ClassNotFoundException: org.apache.jsp.top_005ffavorites_jsp
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>         at
> org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
>         at
> org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
>         at
> org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
>         at
> org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
>         at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:581)
>         at org.apache.tomcat.util.net.JIoEndpoint
> $Worker.run(JIoEndpoint.java:447)
>         at java.lang.Thread.run(Thread.java:619)
> --------------
>
> An interesting aspect of this error is, indeed, the fact that
> top_favorites.jsp is in an include directory, so not directly in the
> root of the site. Yet, it seems that TC6.0.13 is looking for it in the
> root when requested directly. When it is included from a page in the
> root of the site, however, top_favorites.jsp gets compiled and included
> just fine.
>
> What am I missing?
>
>
> TIA,
>
> Ed
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>   


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org