
SpringBoot 多模块项目
以开源项目 SmartAdmin 的框架源码中的部分代码举例说明
1. 父模块
删除其他文件,只保留
pom.xml
文件打包方式
<packaging>pom</packaging>
modules 引入子模块 (打包引入的子模块)
properties 统一管理依赖版本
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
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>net.1024lab</groupId>
<artifactId>sa-parent</artifactId>
<version>3.0.0</version>
<!-- 父模块打包类型必须为pom -->
<packaging>pom</packaging>
<name>sa-parent</name>
<description>SmartAdmin project</description>
<!-- 模块说明:这里声明多个子模块 -->
<modules>
<module>sa-base</module>
<module>sa-admin</module>
</modules>
<!-- 版本说明:这里统一管理依赖的版本号 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<springboot.version>2.7.5</springboot.version>
</properties>
<dependencyManagement>
<dependencies>
<!--BOM begin-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--BOM end-->
</dependencies>
</dependencyManagement>
</project>
2. 子模块
parent
引用父模块(继承依赖)模块个性化依赖,在本模块pom中引用
打包方式
<packaging>jar</packaging>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
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>
<!-- 继承本项目的父工程 -->
<parent>
<groupId>net.1024lab</groupId>
<artifactId>sa-parent</artifactId>
<version>3.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>sa-admin</artifactId>
<version>3.0.0</version>
<packaging>jar</packaging>
<name>sa-admin</name>
<description>sa-admin project</description>
<!-- 子模块的个性化引用 -->
<dependencies>
<dependency>
<groupId>net.1024lab</groupId>
<artifactId>sa-base</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
</project>
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果