简体   繁体   English

Tomcat 8中的JSP编译错误

[英]JSP compilation error in tomcat 8

Previously I was using tomcat 7.0.30 and recently I moved to tomcat 8.0.21 以前我使用的是tomcat 7.0.30,最近使用的是tomcat 8.0.21

After that, whenever I am trying to access my application, it gives JSP compilation error like below, 之后,每当我尝试访问我的应用程序时,都会出现如下所示的JSP编译错误,

The return type is incompatible with JspSourceDependent.getDependants() 返回类型与JspSourceDependent.getDependants()不兼容

and below error also, 还有下面的错误

The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory 对于类型JspFactory,未定义方法getJspApplicationContext(ServletContext)

I am also using GWT 2.7.0 and SmartGWT PRO 4.1 我也在使用GWT 2.7.0和SmartGWT PRO 4.1

Can you please suggest the resolution for this ? 您能为此建议解决方法吗? I went through the suggested links but it didn't help. 我浏览了建议的链接,但没有帮助。 Updated struts to 2.3.20 将支柱更新至2.3.20

Posting complete stacktrace below with -verbose:class VM argument, 使用-verbose:class VM参数在下面发布完整的stacktrace,

    [Loaded org.apache.commons.lang3.BooleanUtils from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/gwt-dev.jar]
[Loaded com.opensymphony.xwork2.ognl.OgnlUtil$2 from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/xwork-core-2.3.20.jar]
[Loaded ognl.enhance.OrderedReturn from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/ognl-3.0.6.jar]
[Loaded ognl.ASTChain from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/ognl-3.0.6.jar]
[Loaded com.opensymphony.xwork2.util.reflection.ReflectionContextState from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/xwork-core-2.3.20.jar]
[Loaded ognl.Evaluation from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/ognl-3.0.6.jar]
[Loaded org.apache.jasper.compiler.Node$JspAttribute from file:/E:/apache-tomcat-8.0.21/lib/jasper.jar]
[Loaded java.util.Vector$ListItr from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded org.eclipse.jdt.internal.compiler.parser.RecoveryScanner from file:/E:/apache-tomcat-8.0.21/lib/ecj-4.4.2.jar]
[Loaded org.eclipse.jdt.internal.compiler.impl.CharConstant from file:/E:/apache-tomcat-8.0.21/lib/ecj-4.4.2.jar]
[Loaded org.eclipse.jdt.internal.compiler.impl.ByteConstant from file:/E:/apache-tomcat-8.0.21/lib/ecj-4.4.2.jar]
[Loaded org.eclipse.jdt.internal.compiler.ast.SynchronizedStatement from file:/E:/apache-tomcat-8.0.21/lib/ecj-4.4.2.jar]
[Loaded org.apache.jasper.compiler.JavacErrorDetail from file:/E:/apache-tomcat-8.0.21/lib/jasper.jar]
[Loaded org.apache.struts2.dispatcher.ActionContextCleanUp from file:/E:/apache-tomcat-8.0.21/webapps/UDMUI/WEB-INF/lib/struts2-core-2.3.20.jar]
Apr 08, 2015 3:51:27 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/UDMUI] threw exception [Unable to compile class for JSP: 

An error occurred at line: [43] in the generated java file: [E:\apache-tomcat-8.0.21\work\Catalina\localhost\UDMUI\org\apache\jsp\login\login_jsp.java]
The return type is incompatible with JspSourceDependent.getDependants()

An error occurred at line: [56] in the generated java file: [E:\apache-tomcat-8.0.21\work\Catalina\localhost\UDMUI\org\apache\jsp\login\login_jsp.java]
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

Stacktrace:] with root cause
org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [43] in the generated java file: [E:\apache-tomcat-8.0.21\work\Catalina\localhost\UDMUI\org\apache\jsp\login\login_jsp.java]
The return type is incompatible with JspSourceDependent.getDependants()

An error occurred at line: [56] in the generated java file: [E:\apache-tomcat-8.0.21\work\Catalina\localhost\UDMUI\org\apache\jsp\login\login_jsp.java]
The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

Stacktrace:
    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198)
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:580)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:428)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

[Loaded org.apache.catalina.util.RequestUtil from file:/E:/apache-tomcat-8.0.21/lib/catalina.jar]
[Loaded java.util.Scanner from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded java.util.regex.Pattern$All from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded java.util.regex.Pattern$6 from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded sun.misc.LRUCache from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded java.util.Scanner$1 from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded org.apache.tomcat.util.http.ValuesEnumerator from file:/E:/apache-tomcat-8.0.21/lib/tomcat-coyote.jar]
[Loaded org.apache.tomcat.util.http.parser.AcceptLanguage from file:/E:/apache-tomcat-8.0.21/lib/tomcat-coyote.jar]
[Loaded sun.util.locale.LanguageTag from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded sun.util.locale.ParseStatus from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded sun.util.locale.StringTokenIterator from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded sun.util.locale.InternalLocaleBuilder from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded sun.util.locale.InternalLocaleBuilder$CaseInsensitiveChar from C:\Program Files\Java\jdk1.7.0_75\jre\lib\rt.jar]
[Loaded org.apache.catalina.util.ConcurrentDateFormat from file:/E:/apache-tomcat-8.0.21/lib/catalina.jar]

Remove the gwt-dev.jar file if you are including it. 如果包含gwt-dev.jar文件,则将其删除。

I had this problem recently. 我最近有这个问题。 It tends to happen when there's is a conflicting jar that contains a definition of JspFactory as described here- 当存在一个包含JspFactory定义的有冲突的jar时,通常会发生这种情况,如下所述:

The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory 对于类型JspFactory,未定义方法getJspApplicationContext(ServletContext)

With GWT, check if you are including the gwt-dev.jar file. 对于GWT,请检查是否包含gwt-dev.jar文件。 It also contains a definition for the JSPFactory. 它还包含JSPFactory的定义。 That's what was causing the issue when I had it. 这就是我遇到问题的原因。 Remove it. 去掉它。 You probably don't need it at run time and don't need to include the jar. 您可能在运行时不需要它,也不需要包含jar。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM