登录
首页 >  文章 >  java教程

Java多模块项目搭建:Maven实战教程

时间:2025-12-23 10:32:25 343浏览 收藏

文章不知道大家是否熟悉?今天我将给大家介绍《Java多模块项目搭建教程:Maven实战指南》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

父项目通过pom.xml定义modules和dependencyManagement管理子模块;子模块继承父配置并可相互依赖;目录结构清晰,构建时在根目录执行mvn命令即可自动按序编译、测试、打包所有模块。

在Java中如何使用Maven创建多模块项目

在Java中使用Maven创建多模块项目,关键在于通过父POM管理多个子模块,实现依赖统一、构建一致和结构清晰。整个项目由一个父项目和多个子模块组成,父项目不写具体代码,只负责协调各个模块。

创建父项目

首先创建一个空目录作为项目根目录,然后编写父项目的pom.xml文件:

1. 父项目的pom.xml配置:

  • packaging类型设为pom:这是多模块项目的标志。
  • 定义modules列表:列出所有子模块的目录名。
  • 统一管理依赖版本:使用dependencyManagement集中控制依赖版本。
示例pom.xml:
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>parent-project</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>

  <modules>
    <module>module-common</module>
    <module>module-service</module>
    <module>module-web</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>

创建子模块

在父项目目录下创建子模块目录,每个子模块都有自己的pom.xml,并自动继承父项目配置。

子模块pom.xml要点:

  • 不需要指定groupId和version:会从父项目继承。
  • 可覆盖父级配置:如需要可单独设置打包方式或添加额外依赖。
  • 依赖其他模块时直接引用:只要模块在modules中声明,就可以像普通依赖一样使用。
例如module-service的pom.xml:
<project>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>module-service</artifactId>
  <packaging>jar</packaging>

  <dependencies>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>module-common</artifactId>
    </dependency>
  </dependencies>
</project>

目录结构示例

最终项目结构如下:

parent-project/
├── pom.xml
├── module-common/
│   └── pom.xml
├── module-service/
│   └── pom.xml
└── module-web/
    └── pom.xml

构建与运行

在父项目根目录执行Maven命令即可统一构建所有模块:

  • mvn clean compile:编译全部模块。
  • mvn test:运行所有单元测试。
  • mvn package:打包每个模块(如jar或war)。
  • 构建顺序由模块依赖关系决定,Maven会自动处理。
基本上就这些。只要父pom正确声明modules,各子模块能相互引用,再配合dependencyManagement做版本控制,就能高效维护大型Java项目。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>