当前位置: 首页 > news >正文

eclipes 下 mavenweb项目 启动 jar包冲突问题

报错如下,主要是 servel 和 jsp

javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:343)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

问题的原因是server-:

tomcat 启动后先将tomcat/lib目录下的jar包全部读入内存,如果webapps目录里的应用程序中WEB-INF/lib目录下有相同的包,将无法加载,

不同版本的包之间也会造成类似问题

解决这个问题的方法就是对于servlet-ap.jar 使用 <scope>标签,编译的时候用到servlet-api和jsp-api,但在打包的时候不用这两个依赖

如下

 <dependency>

    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.4</version>
    <scope>provided</scope>    --------------------加上这条
 </dependency>

 
 

  <scope>,它主要管理依赖的部署。目前<scope>可以使用5个值: 
    * compile,缺省值,适用于所有阶段,会随着项目一起发布。 
    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
    * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
    * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

转载于:https://www.cnblogs.com/leessang/p/6873876.html

相关文章:

  • Open-DrainPush-Pull
  • js中文乱码问题,编码设为utf-8,但还是乱码问题。
  • PopupMenu 使用及自定义样式
  • 交换机基础
  • Java基础教程:网络编程
  • 构建之法阅读心得(六)
  • 第十三周学习进度条
  • linux 安装apache源码
  • Struts2 源码分析
  • 六:二叉树中第k层节点个数与二叉树叶子节点个数
  • 用juniversalchardet解决爬虫乱码问题
  • 钉钉开发平台服务端笔记
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • 自说自话2
  • python+selenum值元素定位(持续补充)
  • 分享的文章《人生如棋》
  • [译]CSS 居中(Center)方法大合集
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【知识碎片】第三方登录弹窗效果
  • CSS盒模型深入
  •  D - 粉碎叛乱F - 其他起义
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ES学习笔记(12)--Symbol
  • JavaScript-Array类型
  • JDK 6和JDK 7中的substring()方法
  • Linux中的硬链接与软链接
  • miaov-React 最佳入门
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Vue 2.3、2.4 知识点小结
  • vue2.0项目引入element-ui
  • VuePress 静态网站生成
  • Vue学习第二天
  • 前言-如何学习区块链
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​第20课 在Android Native开发中加入新的C++类
  • (0)Nginx 功能特性
  • (02)vite环境变量配置
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (推荐)叮当——中文语音对话机器人
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转载)虚函数剖析
  • .gitignore
  • .Net - 类的介绍
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .Net 4.0并行库实用性演练
  • .Net环境下的缓存技术介绍
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录