JSTL下NoClassDefFoundError : javax/servlet/jsp/jstl/core/Config错误

使用springmvc时,项目启动后发送请求报错

Type Exception Report

Message Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:986)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

在项目中我明明已经导入了JSTLjar包了。

网上说的有些版本即便你引入jstl1.2的包,uri处仍旧报错找不到标签。此时,我们还再引入standard包即可。但是也用maven引入了,依旧报错。

再次查询资料发现还可能Jar 包冲突了,这是日常开发过程中,时常会遇到的问题。于是就解决由 jstl 的 Maven 依赖导致的 Jar 包冲突问题

<dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet.jsp</groupId>
                    <artifactId>jsp-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

不幸的是,结果图依旧是这个残忍的500

然后就开始了debug行动。经过漫长的测试后发现在DispatherServelt中报错了。。

可以看到是调用了modelview的时候出错,找不到视图了。。再看springmvc的配置,用到了JSTLView,于是做个测试,删掉这个试图后就可以访问了

但是我对于国际化等需要这个视图解析器啊,,于是不服气,继续找原因。。。最后!!!终于发现了,,在target下的lib下jar包确实没有新加进去的两个jar包!!!!!好吧,,被自己蠢哭了,,

加进去后重新启动就OK了。

posted @ 2017-09-08 10:44  道之于万物  阅读(1555)  评论(0编辑  收藏  举报