一次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实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.