【记录】idea创建springboot多模块项目

95 阅读1分钟

创建maven项目后删除src文件目录
在这里插入图片描述
pom.xml文件修改如下:

<?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>org.bq8023</groupId>
    <artifactId>springboot-activemq</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <!-- 以下内容新增 start -->
    <name>springboot-activemq</name>
    <packaging>pom</packaging>
	<!-- end -->

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>

右键项目名,选择新建 Module
在这里插入图片描述
在这里插入图片描述

新建 Module成功后,父依赖pom.xml会自动注册新创建的Module。代码如下:

<?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>org.bq8023</groupId>
    <artifactId>springboot-activemq</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!-- 创建Module成功后,自动注册生成 -->
    <modules>
        <module>queue-customer</module>
    </modules>

    <name>springboot-activemq</name>
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>

依赖管理

有两种依赖管理方式,①使用<dependencyManagement>,②使用<dependencies>

方案一:<dependencyManagement>

依赖管理方式一:一级父项目pom.xml
父项目相当于一个依赖发布工厂,父项目统一管理依赖版本
子项目中需要的依赖,需在子项目中手动指定引入,无需指定依赖版本,无法继承父项目依赖直接使用。

    <!-- 依赖管理方式一:一级父项目pom.xml
        父项目相当于一个依赖发布工厂,父项目统一管理依赖版本
        子项目中需要的依赖,需在子项目中手动指定引入,无需指定依赖版本,无法继承父项目依赖直接使用
    -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${springboot.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

方案二:<dependencies>

子项目无需手动指定依赖引入,会自动继承父依赖直接使用。

	<dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${springboot.version}</version>
            </dependency>
        </dependencies>