zoukankan      html  css  js  c++  java
  • 分享知识-快乐自己:Maven 相关原理

    依赖原则:解决模块工程之间的Jar冲突问题

    1):情定设定:验证路径最短者优先原则

    创建三个工程如下:

    Hello:并且以来 log4j.1.2.17.jar

    HelloFriend:依赖了工程 Hello,按理说HelloFriend也会间接的依赖了 log4j.1.2.17.jar  但是由于一些特殊原因 明确声明了 为  .14 的jar

    MakeFriends:依赖了 HelloFriend ,大家一开始以为会间接的会依赖两个 jar。实际MakeFriends 只能依赖一个。(寻址一个路径最近的)

    2):情定设定:路径相同时先声明者优先

    创建三个工程如下:

    HelloFriend:依赖 log4j.1.2.14

    OurFriends:依赖 log4j.1.2.17

    MakeFriends:分别引用依赖,HelloFriend 与 OurFriends

    这里的 "声明" 的先后顺序指的是 dependency  标签配置的先后顺序

     3):同一版本号

    这里的版本统一为4.0的(如果统一版本号怎么办那?)

    配置方式:如下(使用 properties 自定义同一版本号)

    使用 ${ atguigu.spring.version }

    4):继承

    现状:Hello 依赖的 junit :4.0

       HelloFriend 依赖的 junit:4.0

        MakeFriends 依赖的 junit:4.9

    需求:统一管理各个模块工程中对 junit 依赖的版本

    解决思路:将 junit 依赖统一提取到 ” 父 “ 工程中,在子工程声明 junit 依赖时不指定版本。

            以父工程中统一设定的为准。

    操作步骤:

    1、创建一个 Maven 工程作为父工程,注意:打包方式为 Pom

    2、在子工程中声明对父工程的引用

    3、将子工程的坐标中与父工程坐标中重复的内容删除

     

    4、在父工程中统一 junit 的依赖

    5、在子工程中删除 junit 依赖的版本号部分。

    注意:配置集成后,执行安装(初始化到本地)命令时先要安装父工程。

      

    5):聚合

    作用:一键安装各个模块工程

    配置方式:在一个 总的聚合工程 中配置各个参与聚合的模块

     

  • 相关阅读:
    CSS:清除浮动小技巧
    CSS:可见格式化模型BFC与应用
    JavaScript:所有视图属性和方法(innerWidth、outerHeight、clientX等)
    JavaScript:正则表达式(入门篇)
    JavaScript:六种继承比较
    表格内展示2行,超出部分省略
    Docker删除大量停止的container
    docker学习笔记
    使用redis实现分布式锁
    Sublime text 3 如何格式化HTML/css/js代码
  • 原文地址:https://www.cnblogs.com/mlq2017/p/10032482.html
Copyright © 2011-2022 走看看