zoukankan      html  css  js  c++  java
  • Maven

    ● 依赖传递:

    添加依赖的jar包如果还依赖其他jar包,则在添加时会一起引入;

    ● 依赖冲突:

    Base-project由3个子项目组成,A-project依赖Tools.jar 1.0版本,C-project依赖Tools.jar 2.0版本,根据依赖传递机制,Base-project将同时依赖Tools.jar两个版本,但这造成了冲突。
    根据路径最近获胜策略,该项目最终依赖Tools.jar 1.0,导致C-project无法调用getAll方法从而报错,因此我们要手动选择一个适合项目的版本。

    (Maven模块化开发项目依赖关系)

    ● 解决依赖冲突的办法:

    ① 直接声明:直接添加Tools.jar 2.0依赖;

    ② 排除:使用<dependency>标签中的<exclusions>标签排除A-project中的Tools.jar 1.0依赖;

    ③ 依赖管理,版本锁定:<dependencyManagement>

    <dependencyManagement>是依赖管理,该标签下添加的<dependencies>可以声明依赖,但是不会引入jar包;
    只有声明在<project>标签下<dependencies>中的依赖才会被引用到项目中
    在<dependencyManagement>下添加jar包坐标后,<project>标签下<dependencies>标签的版本号可以忽略不写;
    < properties>标签可以自定义版本号,用el表达式赋值给<version>标签;
    统一管理jar包版本,修改方便;
  • 相关阅读:
    P2515 [HAOI2010]软件安装
    P2502 [HAOI2006]旅行 最小生成树
    Luogu P2511 [HAOI2008]木棍分割 二分+DP
    P2303 [SDOI2012]Longge的问题 我傻QwQ
    P1129 [ZJOI2007]矩阵游戏 二分图匹配
    BZOJ3211花神游历各国
    [HNOI2011]XOR和路径
    NOIP考前划水
    [IOI2018]组合动作
    [NOIP2017]逛公园
  • 原文地址:https://www.cnblogs.com/Dm920/p/12403227.html
Copyright © 2011-2022 走看看