• 同样版本的jstl,都是jstl1.2版本,有个有问题,另一个没有问题


    问题是这样的,最近部署一个项目,发现每次访问首页的时候老是报如下的错误:

    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.triggerAfterCompletionWithError(DispatcherServlet.java:1284)
        org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:965)
        org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
        org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
        org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        com.pcitc.sso.server.uic.utils.DemoFilter.doFilter(DemoFilter.java:62)
        com.pcitc.sso.client.SSOFilter.doFilter(SSOFilter.java:138)
        org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
    
    root cause
    
    java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
        org.springframework.web.servlet.support.JstlUtils.exposeLocalizationContext(JstlUtils.java:101)
        org.springframework.web.servlet.view.JstlView.exposeHelpers(JstlView.java:135)
        org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:183)
        org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:266)
        org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1225)
        org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
        org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
        org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
        org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
        org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        com.pcitc.sso.server.uic.utils.DemoFilter.doFilter(DemoFilter.java:62)
        com.pcitc.sso.client.SSOFilter.doFilter(SSOFilter.java:138)
        org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
    
    root cause
    
    java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
        org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
        org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
        org.springframework.web.servlet.support.JstlUtils.exposeLocalizationContext(JstlUtils.java:101)
        org.springframework.web.servlet.view.JstlView.exposeHelpers(JstlView.java:135)
        org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:183)
        org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:266)
        org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1225)
        org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
        org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
        org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
        org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
        org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        com.pcitc.sso.server.uic.utils.DemoFilter.doFilter(DemoFilter.java:62)
        com.pcitc.sso.client.SSOFilter.doFilter(SSOFilter.java:138)
        org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)

    按照报错信息,问题应该是出在jstl上面,要么是没有导入jstl的jar包,要么是没有引入jstl标签,我检查了项目发现这些都没有问题,按照网上的很多做法,依然没有解决我的问题,这个问题大概折腾了我大概一周左右,依然没法解决,最后非常沮丧,可是沮丧归沮丧,问题总归是要处理的,而我又坚信没有解决不了的问题。于是我想到了我之前部署的该项目有个版本是没有问题,现在也已经在线上运行良好,所以我就想到了对比两个项目的jar包,我以为是这个版本新加的某些jar包有问题,所以一个一个的对jar包,把出问题的这个版本多余的jar包全部删除了,保持和之前没有问题的那个版本的jar包一模一样,可是问题还没有解决,最后我把之前没有问题的版本的jar全部拷贝过来全部替换掉现在的jar包,问题于是很奇怪的解决了,我很纳闷,于是一个个的找问题,最后发现问题出现的jstl上面,都是jstl1.2版本的,居然一个有问题,最后我把本地maven仓库的jstl删除了,重新下载这个版本的jstl,也没有问题了。最后我觉得问题可能是,我刚好下载到了有问题的jstl,估计jstl的开发人员当时刚好提交了有问题的jstl,可刚好被我下载到了,虽然最后又进行了修复,可是我的仓库里面已经是有问题的jstl了。

    解压有问题的jstl的jar包,报如下错误:

    问题终于解决了,非常开心。下面附上两个同样版本的jstl,一个有问题,一个没有问题,有兴趣的可以自己试试。点击下载两个jstl

  • 相关阅读:
    php PDO操作类
    PDO笔记
    修改表中的enum字段
    php四种基础算法:冒泡,选择,插入和快速排序法
    MySQL中UNION和UNION ALL的使用
    02-HTML5新的input属性
    01-HTML5的介绍
    03-body标签中相关标签
    02-body标签中相关标签
    01-html介绍和head标签
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4984597.html
Copyright © 2020-2023  润新知