• maven_项目的依赖、聚合、继承


     
    一、假设目前有三个maven项目,分别是project.A、project.B、project.C
    要求B依赖A、C依赖B但不依赖C

    1、B添加对A的依赖

    1
    2
    3
    4
    5
    <dependency>
                <groupId>com.project</groupId>
                <artifactId>project.A</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>

    A必须先安装到本地库,否则编译B时会抛异常

    A: clean install   B:clean compile

    2、C添加对B的依赖,同时排除对A的依赖

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <dependency>
                <groupId>com.project</groupId>
                <artifactId>project.B</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <exclusions>
                  <exclusion>
                        <groupId>com.project</groupId>
                        <artifactId>project.A</artifactId>
                  </exclusion>
                </exclusions>
            </dependency>
    二、假设目前有四个maven项目,分别是project.parent、project.A、project.B、project.C

    要求A、B、C整合到一个项目,并且从project.parent继承依赖

    1、parent聚合A、B、C三个项目

    1
    <packaging>pom</packaging>
    1
    2
    3
    4
    5
    <modules>
    <module>../project.A</module>
    <module>../project.B</module>
    <module>../project.C</module>
    </modules>

    执行clean compile 进行验证,会同时编译A、B、C三个项目

    2、A、B、C分别关联parent项目

    1
    2
    3
    4
    5
    <parent>
            <groupId>com.project</groupId>
            <artifactId>project.parent</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>

    会自动继承父类的依赖jar

    如果把父类依赖放在<dependencyManagement>中管理,则子类不会自动成父类的依赖

     


  • 相关阅读:
    04机器学习实战之朴素贝叶斯
    06Web服务
    03机器学习实战之决策树scikit-learn实现
    03机器学习实战之决策树
    将两个列表合并为字典_其中一个列表为Key_一个列表为Value
    17反射
    16网络通信协议
    百练 2733 判断闰年 解题报告
    百练 2799 浮点数格式 解题报告
    lucene详细介绍
  • 原文地址:https://www.cnblogs.com/gossip/p/5574034.html
Copyright © 2020-2023  润新知