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,该模块就会被 "孤立",无法参与项目构建。
相关推荐
misL NITL13 小时前
idea、mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
tomcat·intellij-idea·mybatis
likerhood17 小时前
SLF4J: Failed to load class “StaticLoggerBinder“ 解决
java·log4j·maven
@#¥&~是乱码鱼啦18 小时前
Spring分层架构:Controller、Service、Mapper数据链路,IOC的真实工作意义
java·spring·架构
薪火铺子18 小时前
SpringMVC请求处理流程源码解析(第3篇):视图渲染与异常处理
java·后端·spring
Dylan的码园19 小时前
Maven基础架构与整体认识
java·junit·maven
是宇写的啊21 小时前
MyBatis-Plus
java·开发语言·mybatis
1.14(java)1 天前
Spring AOP核心概念与实战指南
java·后端·spring
亚历克斯神1 天前
Java 安全最佳实践:构建安全的 Java 应用
java·spring·微服务
Maiko Star1 天前
Spring AI ChatClient 完全指南:从基础配置到流式调用
java·人工智能·spring
架构源启1 天前
2026 进阶篇:深入理解Spring Reactor响应式编程的核心引擎(源码级解析+实战避坑)
java·后端·spring