如何创建SpringBoot父工程和子项目(基于maven和IDEA)

如何创建SpringBoot父工程和子项目(基于maven和IDEA)

1.创建父工程和子module

  1. 创建一个空的maven工程,创建好之后的目录如下
  2. 删除src目录,得到父工程目录如下:
  3. 右键父工程,创建子module:

输入子模块名,点finish

完成后,得到目录如下:

2.如何引入依赖

  1. 父工程和子模块都有各自的pom文件,我们只需在父工程的pom文件中定义好springboot版本和spring cloud版本,那么spring boot就会自动根据父工程的版本为子模块中的相关依赖选择对应版本号。
  2. 如果有多个子模块,那么子模块的公共依赖都可以定义在父工程中。

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>
经验分享 程序员 微信小程序 职场和发展