码迷,mamicode.com
首页 > 其他好文 > 详细

使用Maven构建多模块项目

时间:2020-05-14 01:14:05      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:depend   spring   image   dea   图片   bsp   另一个   src   build   

一、为什么使用Maven构建多模块项目

  1. 复用,划分出来的模块可以供其他项目使用。
  2. 固化,划分出来的某个模块可让专人开发,沉淀技术,分工协作。
  3. 优化依赖,每个模块有各自的pom。
  4. 节省时间,可在单个模块上进行build。

二、在IDEA中创建多模块项目

  1.进过创建后的完整项目结构,其中blog_admin,blog_web为SpringBoot项目,其余无骨架Maven项目。

  技术图片

 

三、模块间的依赖关系

1.依赖class

技术图片

 

 

 技术图片

 

 

 

 技术图片

 

 

 2.通过座标直接依赖jar

  1.直接引用

<dependencies>
         <dependency>
             <groupId>com.zhou</groupId>
             <artifactId>blog_file</artifactId>
             <version>${onlyblog.version}</version>
         </dependency>
</dependencies>

  2.在父类中声明使用该模块

 <!-- dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,
    是不会从父项目中继承下来的;只有在子项目中写了该依赖项,
    并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom
    因为blog_core需要被多次使用,我需要指定使用在某个项目中 -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.zhou</groupId>
                <artifactId>blog_core</artifactId>
                <version>${project.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

 

 

   然后在子模块中便可直接继承父模块使用,不用在写版本号

<dependencies>
        <dependency>
            <groupId>com.zhou</groupId>
            <artifactId>blog_core</artifactId>
        </dependency>
 </dependencies>

这样做的好处:统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,才能保证测试的和发布的是相同的成果,因此,在顶层pom中定义共同的依赖关系。同时可以避免在每个使用的子项目中都声明一个版本号,这样想升级或者切换到另一个版本时,只需要在父类容器里更新,不需要任何一个子项目的修改;如果某个子项目需要另外一个版本号时,只需要在dependencies中声明一个版本号即可。子类就会使用子类声明的版本号,不继承于父类版本号。

 

使用Maven构建多模块项目

标签:depend   spring   image   dea   图片   bsp   另一个   src   build   

原文地址:https://www.cnblogs.com/zhouyon/p/12885819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!