ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于SpringBoot 2.3.7.RELEASE的Maven多模块示例极简教程

2021-10-20 19:01:59  阅读:342  来源: 互联网

标签:INFO 极简 SpringBoot 示例 demo --- web SNAPSHOT common


基于SpringBoot 2.3.7.RELEASE的Maven多模块示例极简教程


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

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

1.1 阿里初始化器

在这里插入图片描述

1.2 填写配置清单

在这里插入图片描述

1.3 选择版本

在这里插入图片描述

1.4 填写工程名

在这里插入图片描述
此时看一下整个项目的目录:
在这里插入图片描述

1.5 裁剪项目文件

删除选中的文件
在这里插入图片描述

二、创建两个Maven子模块

2.1 创建demo-web模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 导入Spring Web依赖

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2.3 整个pom文件内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>demo</artifactId>
        <groupId>com.example</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>demo-web</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

</project>

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

2.4 创建demo-common模块

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

2.5 创建demo-common模块

三、子模块间的联系

3.1 web模块依赖common模块

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

<dependency>
   <groupId>com.example</groupId>
   <artifactId>demo-common</artifactId>
   <version>0.0.1-SNAPSHOT</version>
</dependency>

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:\respository\MultiModulesApp\pom.xml to E:\respository\com\example\demo\0.0.1-SNAPSHOT\demo-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:\respository\MultiModulesApp\demo-common\target\classes
[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:\respository\MultiModulesApp\demo-common\src\test\resources
[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:\respository\MultiModulesApp\demo-common\target\demo-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:\respository\MultiModulesApp\demo-common\target\demo-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:\respository\MultiModulesApp\demo-common\target\demo-common-0.0.1-SNAPSHOT.jar to E:\respository\com\example\demo-common\0.0.1-SNAPSHOT\demo-common-0.0.1-SNAPSHOT.jar
[INFO] Installing F:\respository\MultiModulesApp\demo-common\pom.xml to E:\respository\com\example\demo-common\0.0.1-SNAPSHOT\demo-common-0.0.1-SNAPSHOT.pom
[INFO] Installing F:\respository\MultiModulesApp\demo-common\target\demo-common-0.0.1-SNAPSHOT-EXEC.jar to E:\respository\com\example\demo-common\0.0.1-SNAPSHOT\demo-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:\respository\MultiModulesApp\demo-web\target\classes
[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:\respository\MultiModulesApp\demo-web\src\test\resources
[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:\respository\MultiModulesApp\demo-web\target\demo-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:\respository\MultiModulesApp\demo-web\target\demo-web-0.0.1-SNAPSHOT.jar to E:\respository\com\example\demo-web\0.0.1-SNAPSHOT\demo-web-0.0.1-SNAPSHOT.jar
[INFO] Installing F:\respository\MultiModulesApp\demo-web\pom.xml to E:\respository\com\example\demo-web\0.0.1-SNAPSHOT\demo-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] ------------------------------------------------------------------------

标签:INFO,极简,SpringBoot,示例,demo,---,web,SNAPSHOT,common
来源: https://blog.csdn.net/qq_40657528/article/details/120843163

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有