SpringBoot拆分多模块root 模块(⽗)
⾸先新建⼀个⼯程
点击Next
继续下⼀步,勾选好常⽤的依赖,进⼊⼯程,删除不需要的⽂件夹:src、main、test
pom ⽂件中把 <package> 标签内容改为 pom
⼦模块
点击⼯程结构按钮,新建 module
点击新建
和创建root⼀样⼀路点下去,⾃⼰取名字
⼦模块样例
注意 parent 标签,artifactId、version是⽗模块的 artifactId、version
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">    <parent>
<artifactId>poison</artifactId>
<groupId&hny</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>poison-common</artifactId>
<description>常⽤⼯具</description>
</project>
然后⽗模块的pom⽂件中要配置⼀下 modules 标签
我这边有三个,poison-common,poison-admin、poison-app,都配置在 module 标签中
依赖管理
dependencyManagement 标签
<dependencyManagement>
<dependencies>
<!-- SpringBoot的依赖配置-->
<dependency>
</dependency>
</dependencies>
</dependencyManagement>
这个标签是声明依赖,如果⼦模块如果需要引⽤,直接引⽤ groupId 和 artifactId,不需要带版本号,会⾃动继承⽗类如果带上了版本号标签,那么会重新下载并引⽤,不会继承⽗类引⽤
譬如
<dependencies>
<dependency>
<groupId&batis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
SpringBoot 依赖配置
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.4</version>
<type>pom</type>
<scope>import</scop>
</dependency>
这个可以统⼀管理 spring-starter 的版本号,注意这⾥的版本号和 parent 标签的版本号是⼀样的
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
打包
<build>
<plugins>
<plugin>
<!-- The plugin rewrites your manifest -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.0.RELEASE</version>
<configuration><!-- 指定该Main Class为全局的唯⼀⼊⼝ -->
<mainClass&hny.app.AppApplication</mainClass>
<layout>ZIP</layout>
</configuration>spring framework版本
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到⽣成的Jar包中-->
</goals>
<!--可以⽣成不含依赖包的不可执⾏Jar包-->
<!-- configuration>
<classifier>exec</classifier>
</configuration> -->
</execution>
</executions>
</plugin>
</plugins>
</build>
这⾥的 repackage,可以把依赖的包都打包到⽣成的jar包中
⽤idea运⾏⼀下如图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。