zoukankan      html  css  js  c++  java
  • 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>

     欢迎转载,转载必须标明出处 

  • 相关阅读:
    ORA-01940: cannot drop a user that is currently connected 问题解析
    Oracle11g数据库导入Oracle10g操作成功
    固态硬盘
    Oracle数据库默认的data pump dir在哪
    navicat 关于orcale新建表空间,用户和权限分配
    oracle 11g 完全卸载方法
    完全卸载oracle11g步骤
    架构设计:负载均衡层设计方案(4)——LVS原理
    C++中使用REST操作
    在C#中实现视频播放器
  • 原文地址:https://www.cnblogs.com/rexfang/p/6642506.html
Copyright © 2011-2022 走看看