栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于SpringBoot 2.3.7.RELEASE的Maven多模块项目构建极简教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于SpringBoot 2.3.7.RELEASE的Maven多模块项目构建极简教程

基于SpringBoot 2.3.7.RELEASE的Maven多模块项目极简教程
    • 一、在初始化器上创建SpringBoot全局工程
      • 1.1 阿里初始化器
      • 1.2 填写配置清单
      • 1.3 选择版本
      • 1.4 填写工程名
      • 1.5 裁剪项目文件
    • 二、创建两个Maven子模块
      • 2.1 创建demo-web模块
      • 2.2 导入Spring Web依赖
      • 2.3 整个pom文件内容
      • 2.4 创建demo-common模块
      • 2.5 创建demo-common模块
    • 三、子模块间的联系
      • 3.1 web模块依赖common模块
      • 3.2 Maven打包结果

在搞懂Maven多模块应用开发前,建议阅读以下 该博客,夯实一下基础,其实也就是规范的问题,每个Maven项目标签的使用方式及含义。搞清楚后,对后面的项目创建就轻松很多。笔者已经将整个项目托管到Git仓库,点击此处访问 项目,下载即可导入IDE享用,逻辑是简单易理解的。

一、在初始化器上创建SpringBoot全局工程 1.1 阿里初始化器

1.2 填写配置清单

1.3 选择版本

1.4 填写工程名


此时看一下整个项目的目录:

1.5 裁剪项目文件

删除选中的文件

二、创建两个Maven子模块 2.1 创建demo-web模块



2.2 导入Spring Web依赖

在子模块的pom文件里添加如下依赖:


    org.springframework.boot
    spring-boot-starter-web

2.3 整个pom文件内容


    
        demo
        com.example
        0.0.1-SNAPSHOT
    
    4.0.0

    demo-web

    
        8
        8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
    


Maven会自动将子模块添加到主pom文件中。

2.4 创建demo-common模块

同demo-web子模块的创建一样,该模块用于提供通用工具类。

2.5 创建demo-common模块 三、子模块间的联系 3.1 web模块依赖common模块

在web模块的pom文件中引入common模块依赖:


   com.example
   demo-common
   0.0.1-SNAPSHOT

3.2 Maven打包结果
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] demo                                                               [pom]
[INFO] demo-common                                                        [jar]
[INFO] demo-web                                                           [jar]
[INFO] 
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT                                       [1/3]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.3.7.RELEASE:repackage (repackage) @ demo ---
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ demo ---
[INFO] Installing F:respositoryMultiModulesApppom.xml to E:respositorycomexampledemo.0.1-SNAPSHOTdemo-0.0.1-SNAPSHOT.pom
[INFO] 
[INFO] ----------------------< com.example:demo-common >-----------------------
[INFO] Building demo-common 0.0.1-SNAPSHOT                                [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ demo-common ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ demo-common ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to F:respositoryMultiModulesAppdemo-commontargetclasses
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ demo-common ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory F:respositoryMultiModulesAppdemo-commonsrctestresources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ demo-common ---
[INFO] Changes detected - recompiling the module!
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ demo-common ---
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ demo-common ---
[INFO] Building jar: F:respositoryMultiModulesAppdemo-commontargetdemo-common-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.3.7.RELEASE:repackage (repackage) @ demo-common ---
[INFO] Attaching repackaged archive F:respositoryMultiModulesAppdemo-commontargetdemo-common-0.0.1-SNAPSHOT-EXEC.jar with classifier EXEC
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ demo-common ---
[INFO] Installing F:respositoryMultiModulesAppdemo-commontargetdemo-common-0.0.1-SNAPSHOT.jar to E:respositorycomexampledemo-common.0.1-SNAPSHOTdemo-common-0.0.1-SNAPSHOT.jar
[INFO] Installing F:respositoryMultiModulesAppdemo-commonpom.xml to E:respositorycomexampledemo-common.0.1-SNAPSHOTdemo-common-0.0.1-SNAPSHOT.pom
[INFO] Installing F:respositoryMultiModulesAppdemo-commontargetdemo-common-0.0.1-SNAPSHOT-EXEC.jar to E:respositorycomexampledemo-common.0.1-SNAPSHOTdemo-common-0.0.1-SNAPSHOT-EXEC.jar
[INFO] 
[INFO] ------------------------< com.example:demo-web >------------------------
[INFO] Building demo-web 0.0.1-SNAPSHOT                                   [3/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ demo-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ demo-web ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to F:respositoryMultiModulesAppdemo-webtargetclasses
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ demo-web ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory F:respositoryMultiModulesAppdemo-websrctestresources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ demo-web ---
[INFO] Changes detected - recompiling the module!
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ demo-web ---
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ demo-web ---
[INFO] Building jar: F:respositoryMultiModulesAppdemo-webtargetdemo-web-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.3.7.RELEASE:repackage (repackage) @ demo-web ---
[INFO] Replacing main artifact with repackaged archive
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ demo-web ---
[INFO] Installing F:respositoryMultiModulesAppdemo-webtargetdemo-web-0.0.1-SNAPSHOT.jar to E:respositorycomexampledemo-web.0.1-SNAPSHOTdemo-web-0.0.1-SNAPSHOT.jar
[INFO] Installing F:respositoryMultiModulesAppdemo-webpom.xml to E:respositorycomexampledemo-web.0.1-SNAPSHOTdemo-web-0.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for demo 0.0.1-SNAPSHOT:
[INFO] 
[INFO] demo ............................................... SUCCESS [  1.084 s]
[INFO] demo-common ........................................ SUCCESS [  1.587 s]
[INFO] demo-web ........................................... SUCCESS [  1.289 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.299 s
[INFO] Finished at: 2021-10-20T14:33:44+08:00
[INFO] ------------------------------------------------------------------------
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号