【记录】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>
相关推荐
阿杆19 分钟前
同事嫌参数校验太丑,我直接掏出了更优雅的 SpEL Validator
java·spring boot·后端
Grey Zeng9 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白11 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默15 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群16 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL17 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301418 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥18 小时前
原来公平锁和非公平锁差别这么大
java
渣哥18 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K18 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端