zoukankan      html  css  js  c++  java
  • 为什么项目的jar包会和tomcat的jar包冲突?

    为什么项目的jar包会和tomcat的jar包冲突?

    碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有两个引用,启动时自然就不知道用哪个包了,从而引发冲突。纯属猜测,等研究了tomcat的加载过程之后再补充更正。之前下载的How Tomcat Works.pdf还没来得及看,应该能解答所有问题,纯英文版的。

    一下是tomcatlib下的包,框出来的是容易不小心二次引入的包,注意下就好了。

    补充:

    使用maven管理包的时候,如果有和tomcat冲突的,就可以使用下面的三种方式解决。注意api包和独立包的区别,api包会将依赖的包一并引入,如此一部分冲突一部分不冲突就很是烦人,只能使用user library搞定。

    原文:http://blog.sina.com.cn/s/blog_6a6b141001011xcz.html

    解决方法1:User Library

    选中项目-->右击-->properties-->Java Build Path --> Add Library --> 选中 User Liberary -->

    Next --> User Libraries... --> New -->如下一定要选中:口 System Library.... (作为系统库像JDK一样) 

    --> Add Jars -->导入 与Tomcat冲突jar --> 选中jsp-jar OK

    解决方法2:修改配置

    打开项目目录,编辑.classpath文件

    将:<classpathentry kind="lib" path="/............/jsp-jar"/>

    改:<classpathentry kind="con" path="/............/jsp-jar"/>

    解决方法3: 

    <dependency>
    
                <groupId>javax.servlet.jsp</groupId>
    
                <artifactId>jsp-api</artifactId>
    
                <version>2.1</version>
    
                <scope>provided</scope>
    
    </dependency>

    provided可以避免在发布的时候把jsp-api包拷到lib目录下

  • 相关阅读:
    C语言|作业07
    Cookie应用
    刷新页面,怎么做到不提示“不重新发送消息,则无法刷新页面”
    笔记
    笔记
    元素内部设定position
    企业微信正式发布 Tita 绩效宝,助力企业完成数字化绩效管理转型
    OKR实践:如何获得高层的理解与关注
    OKR:衡量结果和解决实际问题
    2022 年绩效评估,HR看这一篇就够了!
  • 原文地址:https://www.cnblogs.com/wancy86/p/tomcat-jar.html
Copyright © 2011-2022 走看看