jstl Maven 依赖导致的 Jar 包冲突
- 概述
Jar 包冲突是日常开发过程中,时常会遇到的问题。本文介绍由 jstl 的 Maven 依赖导致的 Jar 包冲突问题,以及对应的解决方法。
- jstl 的 Maven 依赖配置
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
一般来说,只要 pom 文件配置好了 Maven 依赖后,一般都不会有太大的问题。可是,就是这么一个简单的依赖,导致了整个项目都无法启动了,经过一段时间的排查,最终锁定了问题所在。
Tomcat 类库

项目编译后的类库

从上面的2个截图可以看出,jsp-api 和 servlet-api 这2个 Jar 包重复了,通过进一步的排查,最终确认项目编译后的类库多出来的2个 Jar 是由于 jstl-api Jar 包的依赖,通过 Maven 编译到项目的类库中的,与 Tomcat 的类库中对应的2个 Jar 包起了冲突,找到问题的起因后,对 pom 文件做了调整,不编译 jstl-api Jar 包的依赖的 Jar 包即可解决问题,具体调整如下:
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</exclusion>
</exclusions>
</dependency> <dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
jstl Maven 依赖导致的 Jar 包冲突的更多相关文章
- lib目录和maven dependency目录的jar包冲突
用eclipse时新建项目时,会在lib目录下自动生成一些jar包,然后又在pom.xml文件中添加了依赖,导致lib下的jar包和maven dependency目录下的jar包产生了冲突.刚开始r ...
- maven依赖workspace和jar包
当开发maven项目时,如果workspace中有maven依赖的项目,并且groupid和artifactId都相同,maven就会优先依赖workspace中的项目文件,如果想依赖maven库中的 ...
- maven项目,httpclient jar包冲突
包含httpclient的jar包 org.apache.thrift:libthrift org.jboss.resteasy:resteasy-jaxrs com.alibaba:dubbo ma ...
- Maven:maven依赖jar包冲突处理
Maven多模块项目中偶尔会遇到这种问题:明明项目中相关的jar包已经通过pom.xml引进来了,还是报错找到不到相关的类的错误.这种时候,基本上可以断定是jar包冲突的问题. 很多情况下jar包会通 ...
- 【maven】排除maven中jar包依赖的解决过程 例子:spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings.
一直对于maven中解决jar包依赖问题的解决方法纠结不清: 下面这个例子可以说明一个很简单的解决方法: 项目启动报错: Connected to the target VM, address: '1 ...
- 解决Maven依赖jar包冲突总结
maven导入jar包中的一些概念: 直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包. 传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中 ...
- spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings
项目启动报错: Connected to the target VM, address: '127.0.0.1:59412', transport: 'socket' SLF4J: Class pat ...
- maven引入jar包冲突问题
1.原因 使用maven过程中,经常会遇到jar包重复加载或者jar包冲突的问题,但是有些jar包是由于maven加载了其他jar包自动引入的,并非自己主动添加的,导致和自己添加的jar包版本冲突 举 ...
- maven 解决jar包冲突及简单使用
maven 解决jar包冲突 1.jar包冲突原因 maven中使用坐标导入jar包时会把与之相关的依赖jar包导入(导入spring-context的jar时就会把spring的整个主体导入) ,而 ...
随机推荐
- Windows中报错:Fatal error in launcher: Unable to create process using '"' 的解决方案
Windows 下同时存在 Python2 和 Python3 使用 pip 时系统报错:Fatal error in launcher: Unable to create process using ...
- appium键盘处理
最近对appium感兴趣,就从网上找了些资料,搭建了环境,下载了appium测试代码和测试apk,这方面的东西晚上再写 appium最新版(v1.4.0.0)已经没有sendKeyEvent了,所以现 ...
- Property 'XXX' not found on type java.lang.String解决方案
一,标签指令错误. 原指令标签: <%@ taglib prefix="c" uri="http://j ava.sun.com/jstl/core" % ...
- js 遍历tree的一个例子(全遍历)
全遍历 亲测真是有效. 工作中遇到的问题应该算是比较有价值的问题. <!DOCTYPE html> <html lang="en"> <head> ...
- springmvc怎么重定向
转载大神: https://blog.csdn.net/wabiaozia/article/details/50252661
- my.资料
领回梦丹 http://ka.gamedog.cn/card/2036517.html 1. 普陀的加点没有优点缺点之分,只有是否和你的装备般配.这里可以给一些小数据参考. 60级物理防御达到900, ...
- 研磨设计模式学习笔记4--单例模式Signleton
需求:加载配置文件,由于配置文件全局唯一,所以不用过多对象,建一个就可以了. 优点:单例模式本质就是为了控制实例数目. 一.饿汉式 public class Singleton { private S ...
- STL 部分学习 未整理
https://www.cnblogs.com/pugang/archive/2012/02/10/2345942.html
- hadoop和spark比较
http://blog.51cto.com/13943588/2165946 3.hadoop和spark的都是并行计算,那么他们有什么相同和区别? 两者都是用mr模型来进行并行计算,hadoop的 ...
- [转]asp.net URL中包含中文参数造成乱码的解决方法
本文转自:http://www.jb51.net/article/22437.htm 问题: 前段时间,在系统中做了一个类似于友情链接的功能块,一直运行良好,直到有一天加了类似于以下的链接地址:htt ...