一、打开idea,创建maven项目
?新建项目,选择New project ,填入项目名,java版本等信息,点击创建

?二、删除src文件夹,更改pom.xml
?只保留如下图所示文件即可
?
?将?<packaging>标签的值改为pom

三、在子目录下创建一个独立的模块,用于全局版本管理
?父选项一定要选择None
?删除src文件夹,只保留pom.xml,同样的?将?<packaging>标签的值改为pom
?
?创建<dependencyManagement>标签,引入springboot 依赖

?四、在父pom引入依赖模块
?
?还需在父模块<dependencyManagement>标签内引入依赖模块

?五、创建web模块,引入web依赖
?如图所示,有箭头则创建没有问题
?在依赖模块引入web模块,用于版本管理

?六、创建springboot启动模块
?引入web模块,用于启动springboot

?创建启动类,加入注解和main方法,运行springboot项目

?结束:运行成功

各模块完整pom.xml文件
?${revision} : 用于多模块版本管理,统一版本号
?父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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dnn.boot</groupId>
<artifactId>dnn-boot-test</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<properties>
<revision>1.0.0</revision>
<java.version>1.8</java.version>
<lombok.version>1.18.20</lombok.version>
<mapstruct.version>1.4.1.Final</mapstruct.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
</properties>
<modules>
<module>dnn-boot-dependencies</module>
<module>dnn-boot-starter-web</module>
<module>dnn-boot-starter</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dnn.boot</groupId>
<artifactId>dnn-boot-dependencies</artifactId>
<version>${revision}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
?依赖模块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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dnn.boot</groupId>
<artifactId>dnn-boot-dependencies</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<properties>
<revision>1.0.0</revision>
<!-- 统一依赖管理 -->
<spring.boot.version>2.6.10</spring.boot.version>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.dnn.boot</groupId>
<artifactId>dnn-boot-starter-web</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
web模块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>dnn-boot-test</artifactId>
<groupId>com.dnn.boot</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dnn-boot-starter-web</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
?启动模块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>dnn-boot-test</artifactId>
<groupId>com.dnn.boot</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dnn-boot-starter</artifactId>
<dependencies>
<dependency>
<groupId>com.dnn.boot</groupId>
<artifactId>dnn-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
|