一次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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/