org.apache.jasper.jasperexception:无法编译JSP的类:在升级到Tomcat9

问题描述 投票:0回答:1
05-Feb-2025 13:18:08.986 SEVERE [http-nio-8080-exec-7] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [jsp] in context with path [/clover_portal] threw exception [Unable to compile class for JSP:
 
An error occurred at line: [24] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [26] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [28] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [31] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
'<>' operator is not allowed for source level below 1.7
 
An error occurred at line: [31] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Incorrect number of arguments for type LinkedHashSet<E>; it cannot be parameterized with arguments <>
 
An error occurred at line: [36] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
'<>' operator is not allowed for source level below 1.7
 
An error occurred at line: [36] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Incorrect number of arguments for type LinkedHashSet<E>; it cannot be parameterized with arguments <>
 
An error occurred at line: [43] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [47] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [51] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
Stacktrace:] with root cause
    org.apache.jasper.JasperException: Unable to compile class for JSP:
 
An error occurred at line: [24] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [26] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [28] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [31] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
'<>' operator is not allowed for source level below 1.7
 
An error occurred at line: [31] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Incorrect number of arguments for type LinkedHashSet<E>; it cannot be parameterized with arguments <>
 
An error occurred at line: [36] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
'<>' operator is not allowed for source level below 1.7
 
An error occurred at line: [36] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Incorrect number of arguments for type LinkedHashSet<E>; it cannot be parameterized with arguments <>
 
An error occurred at line: [43] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [47] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
An error occurred at line: [51] in the generated java file: [C:\Apache_Tomcat_9\apache-tomcat-9.0.98-windows-x64\apache-tomcat-9.0.98_Upgradation\work\Catalina\localhost\clover_portal\org\apache\jsp\export\exportCandidateList_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater
 
Stacktrace:
        at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:72)
        at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:192)
        at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:542)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:371)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:343)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:329)
        at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:396)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:937)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
        at java.lang.Thread.run(Thread.java:748)

i尝试更改与tomcat web.xml中JSP相关的配置:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

i通过添加JSP的一些参数,修改了Web.xml文件中的tomcat配置。 我期望的是: 我希望通过强制JSP编译器使用Java 1.8来解决此问题,该法案应解决与参数化类型相关的错误,以及JSP代码中的< >运算符。

实际发生了什么: 尽管进行了这些更改,但问题仍然存在,并且错误消息仍在出现,这表明JSP编译器没有使用正确的Java版本进行编译

jsp tomcat9 jasper-plugin
1个回答
0
投票
问题是由于ecj jar文件。我的tomcat9。ECJ-4.2.2和ECJ-4.20中有两个罐子文件。 ecj-4.20是tomcat 9默认jar文件,我已复制 升级时我的tomcat 7中的ECJ-4.2.2。一旦我从tomcat 9 lib文件夹中删除了ECJ-4.2.2,它对我有用。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.