java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport
一个用了两年的传统项目在转型maven的之后,项目运行正常,一些页面也可以正常访问,但是在有些方法里转发的时候却没法访问页面
原代码是这样:
return “jsp/test”
一开始以为是改了项目这样写转发不行,试了各种转发方式也都不可。
最后打断点进去报标题这个错误。经过一翻排查,把原jstl换成.jstl-api就好了。
这个异常深层原因就是加载不了jsp/test这个view,解析不了jsp里的jstl。
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
</dependency>
还有一点需要注意的是web.xml的开头要改成3.0
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">