tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <>
Subject Re: Strange JSP compilation issues in tomcat 7 and 8
Date Mon, 06 Jul 2015 15:18:15 GMT
Hash: SHA256


On 7/6/15 9:20 AM, wrote:
> I was really hoping that there would be something tomcat related in
> the WEB-INF\lib folder but nothing, they are all marked as provided
> in the pom file.
> There was a mistake in my original post, in tomcat 8.0.23 my
> application does not work with jdk's 1.7.0_09 or 1.8.0_11 so
> basically it doesnt work at all in 8.023 with or without the ## in
> the war file name.
> It seems like tomcat is just unable to compile jsp files in this
> version.
> Is there anything else I can check or do? I have seen some people
> say they edited the conf/web.xml for the jsp servlet entry, I tried
> setting the params to 1.7 for compilerSourceVM and compilerTargetVM
> but this had no effect.
> I am pretty stuck as the tomcat page 
> seems to imply
> everything is compatible??

I've seen problems with libraries that use URIs to load files instead
of using the ClassLoader. The problem is that the WAR filename
contains "#" which is an illegal character in a URL. Due to various
escaping, unescaping, re-escaping, etc. it's possible that a certain
combination can result in a file that can't be loaded due to the
illegal character issue.

Can you confirm that your web application otherwise works properly
without the "##" in the filename?

- -chris

> On Mon, July 6, 2015 1:44 am, Felix Schumacher wrote:
>> Am 4. Juli 2015 11:04:13 MESZ, schrieb
>>> I am working on a spring\tiles application which I have been
>>> deploying to tomcat7 (7.0.32 and 7.0.53) and tomcat8 (
>>> and my war files are built with maven using jdk1.7.0_09.
>>> In my pom file I declare the final name using the ## syntax
>>> that I was told before on this mailing list would ensure that
>>> when deploying to tomcat that I would not get the version name
>>> as part of the context and so could just use the web app name
>>> in the url and in the past this has worked ok for me.
>>> <finalName>${finalName}##${project.version}</finalName>
>>> So my war file build with a name like mywebapp##0.0.0.war, I
>>> deploy this with tomcat manager or manually and it deploys ok,
>>> no errors I can see on deployment.
>>> However when I try to access any pages I get jsp compilation
>>> issues, in both versions of tomcat 7 I get this error:
>>> org.springframework.web.util.NestedServletException: Request
>>> processing failed; nested exception is 
>>> org.apache.tiles.request.render.CannotRenderException:
>>> ServletException including path '/WEB-INF/tiles/layout.jsp'.
>>> org.apache.jasper.JasperException: Unable to compile class for
>>> JSP:
>>> An error occurred at line: 1 in the generated java file The
>>> type java.util.Map$Entry cannot be resolved. It is indirectly 
>>> referenced from required .class files
>> I have seen similar errors on maven based projects, when the jsp
>> api lib was put into WEB-INF/lib/. Check your libs in that
>> location. Remove any servlet specific libs from there.
>> Regards, Felix
>>> And when deploying to tomcat8 I get this error:
>>> javax.servlet.ServletException: Could not resolve view with
>>> name 'base/dashboard/view' in servlet with name 'appServlet'
>>> If I deploy the war files without the ## in the name so just
>>> like mywebapp.war then they deploy and run fine in both
>>> versions of tomcat7 and tomcat8.
>>> Does anybody have any idea what could be the problem?
>>> I have in the past deployed war files with the ## in the web
>>> app name without any issues and whilst they didnt use Spring
>>> and Apache Tiles they did use a lot of jsp's and this didnt
>>> cause any issues.
>>> I should also point out that the web app with the problems
>>> contains all the display\front end but the back end which has
>>> no jsps or tiles but is still a spring web app but only
>>> provides rest apis for the web front end to call does not have
>>> any issues with the ## in the war file name and I have not had
>>> to change this wars name at all whilst doing this testing.
>>> Its odd in that I can start tomcat with the ## and get an
>>> error, stop it, clean down the work directory and then remove
>>> rhe ## from the war name and restart tomcat and it works now.
>>> --------------------------------------------------------------------
- -
To unsubscribe, e-mail:
>>> For additional commands, e-mail:
>> ---------------------------------------------------------------------
To unsubscribe, e-mail:
>> For additional commands, e-mail:
> ---------------------------------------------------------------------
To unsubscribe, e-mail:
> For additional commands, e-mail:
Comment: GPGTools -


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message