一次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 OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja