springboot项目,JSP页面访问报错

login.jsp 登录页访问报错: Servlet.service() for servlet [jsp] threw exception org.apache.jasper.JasperException: Unable to compile class for JSP:
环境:IDEA,Springboot 2.3.12.RELEASE,JDK1.8
2023-02-01 22:58:34.957 WARN [http-nio-8002-exec-1] org.apache.juli.logging.DirectJDKLog:173 Unsupported source VM [1.8] requested, using [1.3]
2023-02-01 22:58:34.957 WARN [http-nio-8002-exec-1] org.apache.juli.logging.DirectJDKLog:173 Unsupported target VM [1.8] requested, using [1.2]
2023-02-01 22:58:35.240 ERROR[http-nio-8002-exec-1] org.apache.juli.logging.DirectJDKLog:175 Servlet.service() for servlet [jsp] threw exception org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [22] in the generated java file: [C:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater

An error occurred at line: [24] in the generated java file: [C:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_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:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater

An error occurred at line: [29] in the generated java file: [C:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_jsp.java]
'<>' operator is not allowed for source level below 1.7

An error occurred at line: [29] in the generated java file: [C:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_jsp.java]
Incorrect number of arguments for type HashSet; it cannot be parameterized with arguments <>

An error occurred at line: [39] in the generated java file: [C:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_jsp.java]
Syntax error, parameterized types are only available if source level is 1.5 or greater

An error occurred at line: [43] in the generated java file: [C:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_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:\Users\user\AppData\Local\Temp\tomcat.8002.7709801213212345358\work\Tomcat\localhost\demo-web\org\apache\jsp\WEB_002dINF\pages\login\login_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:103) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:481) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:398) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:368) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:400) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326) ~[tomcat-embed-jasper-9.0.46.jar:9.0.46]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) ~[jakarta.servlet-api-4.0.4.jar:4.0.4]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) ~[spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:710) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:171) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1373) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1118) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) [jakarta.servlet-api-4.0.4.jar:4.0.4]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) [jakarta.servlet-api-4.0.4.jar:4.0.4]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at ----自定义过滤器2222
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at ----自定义过滤器1111
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:209) [spring-security-web-5.3.9.RELEASE.jar:5.3.9.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.3.9.RELEASE.jar:5.3.9.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) [spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) [spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:97) [spring-boot-actuator-2.3.12.RELEASE.jar:2.3.12.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.15.RELEASE.jar:5.2.15.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_333]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_333]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.46.jar:9.0.46]
    at java.lang.Thread.run(Thread.java:750) [?:1.8.0_333]

maven配置部分如下
  <dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-dependenciesartifactId>
    <version>Hoxton.SR12version>
dependency>
...
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-tomcatartifactId>
    <scope>providedscope>
dependency>
<dependency>
    <groupId>org.apache.tomcat.embedgroupId>
    <artifactId>tomcat-embed-jasperartifactId>
    <scope>providedscope>
dependency>
<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>javax.servlet-apiartifactId>
    <scope>providedscope>
dependency>
<dependency>
    <groupId>javax.servlet.jspgroupId>
    <artifactId>javax.servlet.jsp-apiartifactId>
    <scope>providedscope>
dependency>
<dependency>
    <groupId>javax.elgroupId>
    <artifactId>javax.el-apiartifactId>
    <scope>providedscope>
dependency>

###### 跪求大神帮忙,或提供解决思路

核心报错信息:Syntax error, parameterized types are only available if source level is 1.5 or greater。
意思是IDEA JDK language Level设置不正确

img

img


多次断点运行后发现一处jar包冲突,排除了querydsl依赖项后,终于解决了。
附上现在使用的pom

      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.12.RELEASE</version>
        <relativePath/>
    </parent>
...
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Hoxton.SR12</version>
</dependency>
...
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-codegen</artifactId>
      <version>${project.version}</version>
      <exclusions>
    <exclusion>
    <groupId>org.eclipse.jdt.core.compiler</groupId>
    <artifactId>ecj</artifactId>
    </exclusion>
      </exclusions>
    </dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
</dependency>
<dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
</dependency>
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^