一次Jeesite升级JDK导致的错误:The absolute uri: http://java.sun.com/jsp/jstl/core

本文主要是介绍一次Jeesite升级JDK导致的错误:The absolute uri: http://java.sun.com/jsp/jstl/core,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写目录标题

    • 场景
    • 升级步骤
    • 出现的问题
    • 问题的解决
    • 反思

场景

有个项目用的jeesite 1.0进行的开发,由于服务器要求JDK使用1.8的,而jeesite是JDK 1.7的,所以进行一下升级,但是升级过程中遇到了一些问题,今天记录一下 Eclipse中Java的Web项目怎么升级为JDK1.8

升级步骤

1.找到Eclipse的项目,在项目上右键》Properties然后跟着箭头操作就行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般情况这样设置完等待校验完成就没什么事了,但是我的项目在启动时出现了报错,这个错误让我处理了很久。所以今天记录一下

出现的问题

项目交验完,本以为没问题了,启动项目,也正常启动,可是当我打开页面时,出现了如下错误:

org.apache.jasper.JasperException: /WEB-INF/views/modules/sys/sysLogin.jsp (line: 3, column: 0) 
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this applicationat org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:291)...at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)...四月 09, 2020 9:46:27 下午 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception

异常关键就是这一句The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application,但是我查阅很多资料,大概有以下两种说法:

  1. 大部分都说这个可能是没有引入jstl.jar导致的,我检查了一下Ctrl+鼠标点击路径是可以打开的,下图是打开的c.tld文件;
  2. 可能是standard.jar和jstl.jar版本不一致导致的,我在maven中引入的包是standard.1.1.2.jar和jstl.1.2.jar,应该也是没有问题的。
    在这里插入图片描述

问题的解决

这时候我就找其他原因,一次偶然我把standard.1.1.2.jar放到了lib目录下,项目启动,发现报错换了个文件,这次报错是:

org.apache.jasper.JasperException: /WEB-INF/views/modules/sys/sysLogin.jsp (line: 3, column: 0) 
The absolute uri: http://www.springframework.org/tags/form cannot be resolved in either web.xml or the jar files deployed with this applicationorg.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:291)org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:97)org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:348)。。。

这次的错误信息变成了The absolute uri: http://www.springframework.org/tags/form cannot be resolved in either web.xml,所以我猜测是不是maven引的包引用的jstl无法读取呢?于是把spring-webmvc-4.1.9.jar也放到lib包下面,果不其然,换成了另一个错误:

javax.servlet.ServletException: java.lang.RuntimeException: org.apache.jasper.JasperException: The absolute uri: http://www.opensymphony.com/sitemesh/decorator cannot be resolved in either web.xml or the jar files deployed with this application at org.apache.shiro.web.servlet.AdviceFilter.cleanup(AdviceFilter.java:196) at org.apache.shiro.web.filter.authc.AuthenticatingFilter.cleanup(AuthenticatingFilter.java:155) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:148) 

相同的方法,把 sitmesh-2.4.2.jar 包也放到lib目录下,这次项目终于正常启动。调试了两天的问题,终于解决

反思

为什么会出现这个问题呢? 我猜测可能是某种原因导致的Maven引入的jar包中的jstl标签声明文件无法正常引入到项目中去,但是lib目录下的不受影响。
想到之前看到有过好多人在项目里WEB-INF目录下放一个jstl目录,里面都是.tld文件,应该也是读不到jstl文件的声明,导致项目报错。

每天进步一点点!

在这里插入图片描述
【京东】300减210_百草味 灯影牛肉丝100g 牛肉干肉干肉脯 牛肉类零食小吃 小吃四川风味特产 MJ 五香味,点击在京东购买

这篇关于一次Jeesite升级JDK导致的错误:The absolute uri: http://java.sun.com/jsp/jstl/core的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068790

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S