zoukankan      html  css  js  c++  java
  • 同样版本的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

  • 相关阅读:
    大话字符串逆序
    Class文件结构全面解析(上)
    怎么把CAT客户端的RootMessageId记录到每条日志中?
    阅读JDK源码后,我有了优化它的冲动!
    CAT客户端如何从Apollo中读取配置?
    Sublime Text 3许可证
    通俗易懂地给女朋友讲:线程池的内部原理
    五分钟后,你将学会在SpringBoot项目中如何集成CAT调用链
    分布式监控CAT服务端的本地部署
    如何优雅的设置线程池的大小?
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4984597.html
Copyright © 2011-2022 走看看