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

创建maven项目后删除src文件目录

pom.xml文件修改如下:

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 复制代码
<?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

父项目相当于一个依赖发布工厂,父项目统一管理依赖版本

子项目中需要的依赖,需在子项目中手动指定引入,无需指定依赖版本,无法继承父项目依赖直接使用。

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>

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

xml 复制代码
	<dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${springboot.version}</version>
            </dependency>
        </dependencies>
相关推荐
云深麋鹿6 分钟前
数据链路层总结
java·网络
fire-flyer7 分钟前
响应式客户端 WebClient详解
java·spring·reactor
北执南念24 分钟前
基于 Spring 的策略模式框架,用于根据不同的类的标识获取对应的处理器实例
java·spring·策略模式
王道长服务器 | 亚马逊云28 分钟前
一个迁移案例:从传统 IDC 到 AWS 的真实对比
java·spring boot·git·云计算·github·dubbo·aws
华仔啊32 分钟前
为什么 keySet() 是 HashMap 遍历的雷区?90% 的人踩过
java·后端
9号达人1 小时前
Java 13 新特性详解与实践
java·后端·面试
橙序员小站1 小时前
搞定系统设计题:如何设计一个支付系统?
java·后端·面试
嘟嘟可在哪里。1 小时前
IntelliJ IDEA git凭据帮助程序
java·git·intellij-idea
岁忧1 小时前
(LeetCode 每日一题) 3541. 找到频率最高的元音和辅音 (哈希表)
java·c++·算法·leetcode·go·散列表
_extraordinary_1 小时前
Java 多线程进阶(四)-- 锁策略,CAS,synchronized的原理,JUC当中常见的类
java·开发语言