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 2014/06/12 04:47:27 UTC
[Bug 56613] New: JSP COMPILATION ERROR ON TOMCAT 6 & 7 with JDK
VERSION 1.8.0_20-ea
https://issues.apache.org/bugzilla/show_bug.cgi?id=56613
Bug ID: 56613
Summary: JSP COMPILATION ERROR ON TOMCAT 6 & 7 with JDK VERSION
1.8.0_20-ea
Product: Tomcat 7
Version: unspecified
Hardware: PC
Status: NEW
Severity: normal
Priority: P2
Component: Jasper
Assignee: dev@tomcat.apache.org
Reporter: shu.chen@oracle.com
With Java 1.8.0_20-ea
(http://jre.us.oracle.com/java/re/jdk/8u20/promoted/all/b15/bundles/windows-i586/jdk-8u20-ea-windows-i586.exe),
we got a JSP compilation error as below.
Tomcat 6 & 7 both have compilation error when trying to interpret the following
code in JSP:
str = str.replace("'", @ "\\'").replace("\"","\\\"");
(str is a string here)
.
Below is the error message:
SEVERE: Compilation error
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at
org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileRea
der.java:342)
at
org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:206)
at
org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:163)
at
org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEn
vironment.java:96)
at
org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(Un
resolvedReferenceBinding.java:49)
at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryT
ypeBinding.java:131)
at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(Bin
aryTypeBinding.java:903)
at
org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getExactMethod(Bina
ryTypeBinding.java:705)
at
org.eclipse.jdt.internal.compiler.lookup.Scope.findExactMethod(Scope.java:763)
.
at
org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2057)
at
org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java
:417)
at
org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java
:334)
at
org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:1
84)
at
org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:906)
at
org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
at
org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233
)
at
org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
at
org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233
)
at
org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:115)
at
org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:7
99)
at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStateme
nts(AbstractMethodDeclaration.java:429)
at
org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(Meth
odDeclaration.java:196)
at
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(Abstra
ctMethodDeclaration.java:400)
at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.
java:1085)
at
org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.
java:1164)
at
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(Compi
lationUnitDeclaration.java:366)
at
org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:623)
at
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392)
at
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592
)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326
)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi
lterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:206)
at
com.demantra.common.servlets.ServerStartupFilter.doFilter(ServerStartupFilter.
java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi
lterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:206)
at
com.demantra.common.utils.ParamEncodingFilter.doFilter(ParamEncodingFilter.jav
a:29)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi
lterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:206)
at
com.demantra.security.server.csrf.CSRFFilter.doFilter(CSRFFilter.java:138)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi
lterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:206)
at
com.demantra.security.server.authorization.AuthorizationFilter.doFilter(Author
izationFilter.java:115)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi
lterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java
:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java
:191)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.j
ava:470)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:1
09)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:86
4)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Htt
p11AprProtocol.java:579)
at
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Unknown Source)
From this page (http://tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html), we
know that Tomcat6 is using Eclipse JDT Java compiler for the JSP
compilation.
.
Please note:
This JSP file can compile successfully with Java 7, and also JDK8u5. We got
this error only on Java 1.8.0_20-ea
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[Bug 56613] JSP COMPILATION ERROR ON TOMCAT 6 & 7 with JDK VERSION
1.8.0_20-ea
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56613
Konstantin Kolinko <kn...@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |DUPLICATE
OS| |All
--- Comment #1 from Konstantin Kolinko <kn...@gmail.com> ---
First, you are missing required information: you are not mentioning what exact
x.y.z. version of Tomcat you are using.
Second, for Java 8 you have to use a version of Eclipse ECJ compiler that
supports Java 8. See [1].
The "ClassFormatException" probably means that your version of ECJ does not
know about Java 8 at all.
Note that
1. We cannot update the version of ECJ included with Tomcat 6, as Tomcat 6 must
be able to run on Java 1.5, but current ECJ releases require minimum of Java 6.
2. There are known issues - see bug 56543
3. You may replace ecj-*.jar with a later version that you may download from
http://www.eclipse.org/
See archives of Tomcat Users mailing list, and ask on the mailing list if you
have questions. (Bugzilla is not a support forum).
4. Tomcat can be configured to use Java javac compiler instead of Eclipse ECJ.
[2]
[1] http://www.eclipse.org/downloads/index-java8.php
[2] http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html
*** This bug has been marked as a duplicate of bug 56283 ***
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org