如何创建SpringBoot父工程和子项目(基于maven和IDEA)
1.创建父工程和子module
-
创建一个空的maven工程,创建好之后的目录如下
-
删除src目录,得到父工程目录如下:
-
右键父工程,创建子module:
输入子模块名,点finish
完成后,得到目录如下:
2.如何引入依赖
- 父工程和子模块都有各自的pom文件,我们只需在父工程的pom文件中定义好springboot版本和spring cloud版本,那么spring boot就会自动根据父工程的版本为子模块中的相关依赖选择对应版本号。
- 如果有多个子模块,那么子模块的公共依赖都可以定义在父工程中。
3.父工程和子模块pom文件示例
父工程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.yichengbo</groupId>
<artifactId>ycb-bolg</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<!--定义spring boot版本-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.5.3</version>
</parent>
<!--定义spring Cloud版本-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!--此工程下包含子模块-->
<modules>
<module>eureka-server</module>
</modules>
</project>
子模块eureka-server 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>ycb-bolg</artifactId>
<groupId>com.yichengbo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>erueka-server</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!--eureka注册中心依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
</project>