公众号推广:
目前CSDN进行VIP可见,文章可在微信公众号进行免费的阅读。
文章内容经过认证实践,比较的清晰易懂,适合初次接触的人员。
请关注微信公众号:菜鸟编程踩坑之路,进入公众号搜索关键词 SpringBoot多模块
需求场景:
因为电脑内存有限,不支持启动多个idea,所以想要把多个项目集成到一个项目里面去来节省内存。
解决方案:
把多个项目集成到一个项目里面去来节省内存。
实现方案:
创建一个普通的maven项目,将原有的项目作为其中的子module进行管理,去掉原有的一些启动文件,重新集成一个全部项目的启动文件。
实现步骤:
1、工程整体结构
新建一个快速的maven工程,然后删除里面的src等文件,只留下pom文件就行了,然后idea右键new module就可以了,现在大概的看一下我的目录结构,如图所示:
一共有四个子工程,分别是all,common,manage-platform,mini-program,其中common是一些公共的代码块,manage-platform是使用的thymeleaf模板带有HTML文件
再来看一下在maven管理模块中分布是什么样子,不同的idea版本看出来的视觉效果不一样,如同所示:
2、health-manage-service的pom(整个工程的pom)
这里的pom可以对所有的子工程的pom做一个集成,进行版本控制
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dream</groupId>
<artifactId>health-manage-service</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<name>health-manage-service</name>
<url>http://maven.apache.org</url>
<modules>
<module>all</module>
<module>manage-platform</module>
<module>mini-program</module>
<module>common</module>
</modules>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<compile.version>8</compile.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.4.2</spring-boot.version>
<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
<spring-cloud.version>2020.0.6</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.16.8</version>