Maven多模块项目MyMetaObjectHandler自动填充日期未生效

plaintext

复制代码
your-project(父模块)
├─ takeaway-boot(Boot 启动模块,含 main 方法,需要依赖其他子模块)
├─ takeaway-handler(handler 子模块,含 MyMetaObjectHandler)
├─ takeaway-service(service 子模块)
└─ takeaway-mapper(mapper 子模块)

只需在 takeaway-boot 模块的 pom.xml 中,添加对 takeaway-handler 子模块的依赖,Maven 就会自动构建 handler 模块,并将其纳入 Spring 扫描范围:

xml

复制代码
<!-- takeaway-boot/pom.xml -->
<dependencies>
    <!-- 其他依赖(如 service、mapper 模块) -->
    <dependency>
        <groupId>com.campus.takeaway</groupId> <!-- 父模块的 groupId,与 handler 模块一致 -->
        <artifactId>takeaway-handler</artifactId> <!-- handler 子模块的 artifactId -->
        <version>${project.version}</version> <!-- 版本号,与父模块一致(用 ${project.version} 自动对齐) -->
    </dependency>
</dependencies>

额外注意:确保 handler 子模块是 "可依赖的模块类型"

Maven 子模块的 pom.xml 中,packaging 类型默认是 jar(可被其他模块依赖),如果 handler 模块的 packaging 被误设为 pom(父模块类型,不可被依赖),也会导致依赖失败。

检查 takeaway-handler 模块的 pom.xml,确保 packagingjar

xml

复制代码
<!-- takeaway-handler/pom.xml -->
<parent>
    <groupId>com.campus.takeaway</groupId>
    <artifactId>your-project</artifactId>
    <version>1.0.0</version>
</parent>

<artifactId>takeaway-handler</artifactId>
<packaging>jar</packaging> <!-- 必须是 jar,默认也是 jar,不要改成 pom -->

验证:重新构建项目并启动

  1. 先清理并构建父模块(确保所有子模块按依赖顺序构建):在父模块根目录执行 Maven 命令:

    bash

    复制代码
    mvn clean install

    执行成功后,会在 takeaway-handler/target 目录下生成 takeaway-handler-1.0.0.jar(说明模块已被正确构建)。

  2. 启动 Boot 模块 :此时 takeaway-boot 模块会加载 takeaway-handler 模块的 MyMetaObjectHandler 类,Spring 也能正常扫描到该类,自动填充功能就能生效了。

多模块开发的核心依赖原则

在 Maven 多模块项目中,只有被 "启动模块" 直接或间接依赖的子模块,才会被构建和加载。比如:

  • 如果 takeaway-boot 依赖 takeaway-service,而 takeaway-service 依赖 takeaway-handler,那么 takeaway-handler 会被间接依赖,也能生效。
  • 但如果 takeaway-boot 不直接 / 间接依赖 takeaway-handler,该模块就会被 "孤立",无法参与项目构建。
相关推荐
Bingo_BIG13 小时前
Java Spring 批量修改,实体、接口、方法的定义
java·spring
敲个大西瓜18 小时前
Spring Could Alibaba 核心面试题
java·后端·spring
caimouse1 天前
ReactOS 图形系统分析(53):系统库存对象 — stockobj.c
c语言·开发语言·spring
SQL-First布道者1 天前
持久层框架的评价标准:只有一个
java·spring boot·spring·tomcat·mybatis·spring jdbc
番茄炒鸡蛋加糖1 天前
SpringBoot 核心原理 + Spring 事务 + 缓存
spring boot·spring·缓存
步行cgn1 天前
MyBatis 高级映射与延迟加载完全指南
java·tomcat·mybatis
mashirro1 天前
记一次基于ruoyi-vue新增小程序服务模块,小程序登陆相关
vue.js·小程序·mybatis
星空1 天前
maven镜像
java·maven
边境悍匪1 天前
蜗牛学苑 Java 智能体学习 Day24|SpringBoot 整合 MyBatis、分层解耦思维导图复盘
java·数据库·spring boot·学习·mybatis
Diligently_2 天前
Anolis 系统更新与密码设置&磁盘扩容
java·后端·spring