zoukankan      html  css  js  c++  java
  • java——Maven

    pom.xml文件:

     常用命令:

     如果要使用某个项目作为另一个项目的依赖,先将项目打包package后install安装到本地仓库中,在另一个项目的pom.xml

    文件配置好dependcy标签就可以了。

     

     生命周期:

     

     

     打包源码的插件加入:

     打包时是会按顺序执行源码的,包括编译、测试、打包;

    pom.xml文件解析:

     

     

     依赖传递:

    a依赖b,b依赖c,这样a就会传递依赖到c,如果要把c排除掉,可以在a中的pom.xml使用exclusions标签进行排除依赖,如:

    <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
    </exclusions>

    依赖冲突:a依赖b,b依赖c,同时b、c依赖不同版本的d,这样a依赖的是哪个版本的d(短路原则,依赖b里的d版本);

    a依赖b,a依赖c,同时b、c同时依赖不同版本的d,这样a依赖的是哪个版本的d(声明优先原则,看a里pom.xml文件a依赖b或c的声明哪个在前就用哪个版本的d)

    聚合:如果有多个项目,我们要对这写项目打包并存入本次仓库中,我们就可以采用聚合的方式让它一次性完成工作,首先要新建一个maven项目,在pom.xml中将packaging标签设置为pom再使用modules标签:如:

     之后只要运行这个maven项目clean install就可以了;

    继承:

    如果有多个项目都依赖a,而a的版本改动又比较频繁,如果每次a的版本改动就需要到每个项目中的pom.xml进行版本修改,就会很麻烦;

    继承就很好地解决了这个问题;

    首先还是要新建一个maven项目,packaging改为pom,也就是说这个项目只是单纯地当做是容器;

    在这个maven项目中设置properties和dependcyManagement标签:

     在别的多个项目中使用parent标签,绑定好这个新建容器的maven项目坐标:

     后面若要改变版本就只需要在这个父容器里的properties标签进行修改就好。

  • 相关阅读:
    ESP32 SDA和SCL
    ESP32的HSPI和VSPI区别
    ffmpeg生成视频封面图
    小程序读取几种不同格式json数据(小程序json解析)
    ajax
    使用Java语言,连接linux服务器,并远程执行shell 脚本
    Echarts饼图的使用
    js提取对象数组中的某一个属性
    java读取文件推送报文
    java读取本地文件内容TXT文件
  • 原文地址:https://www.cnblogs.com/lzj-learn/p/12838056.html
Copyright © 2011-2022 走看看