Maven依赖范围和依赖版本冲突的解决

一、依赖范围

1. Compile  struts2-core

编译(compile)时需要 测试时需要,,运行时需要,打包时需要

2. Provided  jsp-api.jar   servlet-api.jar

编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要

3. Runtime   数据库驱动包

编译时不需要,测试时需要,,运行时需要,打包时需要

4. Test  junit.jar

编译时不需要,测试时需要,运行时不需要,打包也不需要

二、依赖版本冲突的解决

 

1、 第一声明优先原则

<dependencies>

  <!--   spring-beans-4.2.4 -->

  <dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-context</artifactId>

  <version>4.2.4.RELEASE</version>

  </dependency>

<!--   spring-beans-3.0.5 -->

  <dependency>

  <groupId>org.apache.struts</groupId>

  <artifactId>struts2-spring-plugin</artifactId>

  <version>2.3.24</version>

  </dependency>

2、 路径近者优先原则

自己添加jar

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-beans</artifactId>

  <version>4.2.4.RELEASE</version>

  </dependency>

 

3、 排除原则

 

  <dependency>

  <groupId>org.apache.struts</groupId>

  <artifactId>struts2-spring-plugin</artifactId>

  <version>2.3.24</version>

  <exclusions>

    <exclusion>

      <groupId>org.springframework</groupId>

      <artifactId>spring-beans</artifactId>

    </exclusion>

  </exclusions>

  </dependency>

 

4、 版本锁定原则

 

<properties>

<spring.version>4.2.4.RELEASE</spring.version>

<hibernate.version>5.0.7.Final</hibernate.version>

<struts.version>2.3.24</struts.version>

</properties>

 

<!-- 锁定版本,struts2-2.3.24spring4.2.4hibernate5.0.7 -->

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>${spring.version}</version>

</dependency>

</dependencies>

</dependencyManagement>


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值