框架建设收集

SpringBoot(maven)多模块项目构建

2019-06-28  本文已影响36人  挣扎在黑暗中的码畜

须知

本文以三个模块为例来搭建项目,以达到通俗易懂的初衷

模块parent —– 基模块,就是人们常说的parent

模块utiltools —– 其他模块都需要使用的一些工具,比如时间工具,json工具等

模块web —– web模块

先简单讲一下maven的一些特点

继承

这个可以理解为java中的继承类似,父类定义的东西,子类如果你想用就拿过来用就可以;

依赖

依赖就相当于我们java中的导包,二者有着异曲同工之妙;

你想用的东西只需要告诉maven它在哪就可以,它会自动帮你找过来给你用

聚合

这个暂时我还没找到java中能与之对应的原型;

maven聚合是将多个模块组装在一起,相互协调依赖运行;

---------------------

创建步骤 (详细多图)

1.建设一个新项目(这里使用IDEA创建Spring Initializr项目)

新建项目-1 新建项目-2 新建项目-3 新建项目-4

项目目录(只保留pom文件即可,这里使用IDEA 所以还要保留IDEA的项目配置文件)

新建项目-5

在pom.xml文件中添加<packaging>pom</packaging>

新建项目-6

创建子模块(module)

创建子模块-1 创建子模块-2 创建子模块-3 创建子模块-4 新建子模块-5

项目目录

项目目录结构-1

创建子模块utiltools和上边创建子模块过程一样的,这里不再一一截图

创建完子模块后的项目目录

项目目录-2

这时模块基本创建完成,接下来修改pom文件

1.添加<packaging>jar</packaging>

2.把继承org.springframework.boot改为继承父模块

注:由于其他子模块也一样修改,这里不再一一截图

修改子项目pom文件

在父工程pom文件中声明子模块

声明子模块

2.测试项目

说明:在utiltools模块和web模块些一个静态方法,在partent模块启动项目并执行utiltools模块和web模块的静态方法。

注意:由于partent调用其他模块的方法,所以需要在partent模块的pom文件中引入被调用模块依赖

partent模块引入其他模块依赖

引入被调用模块依赖

其他子模块添加静态方法

添加静态方法

parent模块启动项目并调用其他子模块的静态方法

parent模块启动项目

到此多模块项目创建完成。

3.运维部署(多模块打包)

注意:多模块项目仅仅需要在启动类所在的模块添加打包插件即可!!不要在父类添加打包插件,因为那样会导致全部子模块都使用spring-boot-maven-plugin的方式来打包(例如BOOT-INF/com/hehe/xx)

本案例的启动模块是 parent, 只需在它的pom.xml 添加打包插件(spring-boot-maven-plugin):

前面步骤中在父工程pom文件中存在答辩插件,因此将父工程中打包插件部分代码移动到parent模块下的pom文件即可。

parent模块的pom文件

打包工程

首先在IDE打开Maven插件,然后在聚合父工程helloworld中点击 clean ,然后点击 package 进行打包。

clen项目 打包项目

打包的默认地址是:Building jar: E:\helloworld\parent\target\parent-0.0.1-SNAPSHOT.jar

 启动项目

java -jar parent-0.0.1-SNAPSHOT.jar

启动效果

启动效果 依赖结构图

全文到此结束!如有问题请留言。

本案例源码:https://gitee.com/huiziqin/multimoduleproject.git

上一篇下一篇

猜你喜欢

热点阅读