如何创建SpringBoot父工程和子项目(基于maven和IDEA)
如何创建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>