环境:win10

JDK:java version "1.8.0_131"

mvn 内置 Tomcat 报错:

javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" 
the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/views/success_jsp, and the class loader (instance of org/codehaus/plexus/classworlds/realm/ClassRealm)
for the method's defining class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:)
javax.servlet.http.HttpServlet.service(HttpServlet.java:)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:)
javax.servlet.http.HttpServlet.service(HttpServlet.java:)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:)
javax.servlet.http.HttpServlet.service(HttpServlet.java:)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:)

原因:

Tomcat 包下的 javax.el-api 与 用于验证的 Hibernate-validation 包下的 javax.el-api 冲突。

解决:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0..CR2</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
</exclusion>
</exclusions>
</dependency>

Tomcat 加载 jsp 异常:ServletException: java.lang.LinkageError的更多相关文章

  1. Tomcat加载JSP原理

    Tomcat加载JSP主要有以下几个类: JspServlet JspServletWrapper JspCompilationContext JspRuntimeContext JsperLoade ...

  2. javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation:

    javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving ...

  3. 【异常】java.lang.LinkageError: loader constraints violated

    [问题背景]      南非客户帐单提醒功能过程中的一个问题,当启动服务器后,后台报java.lang.LinkageError: loader constraints violated when l ...

  4. 某APK中使用了动态注册BroadcastReceiver,Launcher中动态加载此APK出现java.lang.SecurityException异常的解决方法

    在某APK中,通过如下方法动态注册了一个BroadcastReceiver,代码参考如下: @Override protected void onAttachedToWindow() { super. ...

  5. HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag

    我在项目中导入了jar,还是不能使用EL表达式,一运行就出现了下面的额错误: org.apache.jasper.JasperException: javax.servlet.ServletExcep ...

  6. 用eclipse部署tomcat时出现异常:java.lang.IllegalArgumentException

    用eclipse部署tomcat时出现异常:java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: c ...

  7. Tomcat发布Maven项目遇到异常:java.lang.OutOfMemoryError: PermGen space

    前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1.  ...

  8. 学习Tomcat动态加载JSP的Class类

    今天在修改项目一个JSP文件时,突然想到Tomat是怎么实现动态实时加载JSP编译后的class类的? 查了半天资料,看了很多文章,终于明白是怎么回事了:ClassLoader,当tomcat发现js ...

  9. 关于jsp web项目中的javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误

    错误: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver org.apache.j ...

随机推荐

  1. 项目中 2个或者多个EF模型 表名称相同会导致生成的实体类 覆盖的解决方法

    场景:  2个数据库, 一个新,一个旧,  把旧的 数据库中的数据,导入到新的数据库中,  使用到了2个 EF实体模型, 新数据库 和 旧数据库中的表,有的名称是相同的 (但是结构是不同的) 旧的数据 ...

  2. Qt编写自定义控件8-动画按钮组控件

    前言 动画按钮组控件可以用来当做各种漂亮的导航条用,既可以设置成顶部底部+左侧右侧,还自带精美的滑动效果,还可以设置悬停滑动等各种颜色,原创作者雨田哥(QQ:3246214072),驰骋Qt控件界多年 ...

  3. flask使用pymysql连接MySQL,生成xls文件并下载到本地

    版本一:将MySQL数据写入到excel(xsl)文件并下载到默认文件夹(一般问电脑的下载文件夹里面),并显示特效到前端页面. flask框架连接MySQL,我们使用pymsql这个工具,如下操作: ...

  4. K - Popular Cows

    来源poj2186 Every cow's dream is to become the most popular cow in the herd. In a herd of N (1 <= N ...

  5. npm 发布包(publish)

    λ npm init // 建包,信息填写好 λ npm adduser // 创建npm账户 填写账号,密码,邮箱 λ npm whoami // 查看当前登录的是谁 ajanuw 登录 λ npm ...

  6. hibernate05--list和iterator

    package cn.bdqn.test; import java.util.Iterator; import java.util.List; import org.hibernate.Query; ...

  7. 5. 文件上传下载 与 db数据库

    文件上传 formidable multer npm i formidable multer 如何使用见: https://www.npmjs.com/ util.inspect 自己查 文件上传:表 ...

  8. vue利用vue ui命令创建项目

    上次用git bash,用create 命令创建vue项目,这是玩个炫酷的------vue ui (前提是有安装node.js). 在目标文件  vue ui 可以看到他在8000端口出现了一个gu ...

  9. day14 十四、三元运算符,推导式,匿名内置函数

    一.三元(目)运算符 1.就是if...else...语法糖 前提:if和else只有一条语句 # 原来的做法 cmd = input('cmd:>>>') if cmd.isdig ...

  10. andorid证书生成

    首先得有JDK DOS窗口切换到证书要保存的目录 keytool -genkey -alias mykey -keyalg RSA -validity 40000 -keystore demo.key ...