如何创建一个父类 Maven项目,然后在父类下再创建子项目,构建多模块 Maven 项目

文章目录

  • 步骤一:创建父类 Maven 项目(聚合模块)
  • 步骤二:添加子模块(Maven 子项目)
  • 步骤三:构建父子项目
  • 步骤四:添加更多子模块(如果需要)
  • 最后总结

在 Spring Tool Suite (STS) 中创建一个父类 Maven 项目,并在其下创建子项目的过程,其实就是构建一个 多模块 Maven 项目。
父模块是一个 聚合模块( Aggregator Module),它通常用于管理子模块的依赖关系和构建过程。
下面是具体的步骤:

步骤一:创建父类 Maven 项目(聚合模块)

1、打开 Spring Tool Suite (STS),点击菜单栏上的 File -> New -> Maven Project。

2、在 New Maven Project 向导页面中,选择一个合适的工作区(例如:选择 Create a simple project (skip archetype selection))。

3、在 Group Id 和 Artifact Id 中填写我们父类项目的标识符。举个例子:

  • Group Id:com.example
  • Artifact Id:parent-project
  • Version:1.0-SNAPSHOT
  • 点击 Finish,STS 会创建一个基础的 Maven 父项目。

4、然后打开 pom.xml 文件,在 <packaging> 标签中设置为 pom,这是为了标识该项目为父类项目,不会打包成 jar 或 war 文件。

xml 复制代码
<packaging>pom</packaging>

5、父模块的 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>com.example</groupId>
    <artifactId>parent-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <!-- 这里将包含子模块 -->
    </modules>

    <dependencyManagement>
        <dependencies>
            <!-- 父模块管理的公共依赖可以在这里添加 -->
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <!-- 父模块管理的插件配置可以在这里添加 -->
            </plugins>
        </pluginManagement>
    </build>
</project>

步骤二:添加子模块(Maven 子项目)

1、在 父类项目的根目录,右键点击,选择 New -> Module。这会让我们创建一个新的 Maven 模块。

2、在 New Module Wizard 中,选择 Maven 项目类型,点击 Next。

3、为子模块设置 Group Id 和 Artifact Id(与父模块一致的 Group Id 但不同的 Artifact Id)。例如:

  • Group Id:com.example
  • Artifact Id:child-project
  • Version:1.0-SNAPSHOT

4、点击 Finish 创建子模块。

5、然后打开 子模块的 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>

    <parent>
        <groupId>com.example</groupId>
        <artifactId>parent-project</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath> <!-- 指向父项目的 pom.xml -->
    </parent>

    <artifactId>child-project</artifactId>
    <version>1.0-SNAPSHOT</version>
</project>

6、在父项目的 pom.xml 文件中,使用 <modules> 标签来列出所有子模块,例如:

xml 复制代码
<modules>
    <module>child-project</module>
</modules>

步骤三:构建父子项目

1、在父项目中,右键点击 pom.xml 文件,选择 Maven -> Update Project 来更新项目。

2、然后我们可以选择在父项目中运行构建命令,这会自动构建父项目和所有的子模块。

我们可以通过 Run As -> Maven Build... 来执行 mvn clean install 或其他构建命令。

步骤四:添加更多子模块(如果需要)

我们可以继续在父项目中添加更多的子项目,只需重复 步骤二 中创建子模块的过程,并将新的子模块添加到父项目的 <modules> 标签下。

最后总结

  • 父类 Maven 项目是一个管理和构建多个子模块的容器。它的
    pom.xml 配置了整个项目的构建、依赖和插件。
  • 每个 子模块 都继承自父项目,它们共享父项目的依赖、插件和其他配置。
  • 父项目中使用 <modules> 标签列出子模块,在子模块的 pom.xml 中通过 <parent> 标签引用父项目。

通过这种方式,我们可以轻松地创建和管理一个多模块的 Maven 项目,这在开发大型应用程序时特别有用。

相关推荐
专业程序开发源几秒前
flask动漫推荐系统32319-计算机课程设计、毕业设计
java·spring boot·后端·django·flask·php·课程设计
FYKJ_20107 分钟前
springboot手工蜀绣在线销售系统60947-计算机课程设计、毕业设计
java·spring boot·后端·python·mysql·spark·课程设计
vx_Biye_Design9 分钟前
springboot老年人用药智能管理系统38605-计算机课程设计、毕业设计
java·spring boot·后端·python·django·课程设计·express
QQ_216962909613 分钟前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
vx_Biye_Design15 分钟前
springbootNBA数据分析系统平台42434-计算机课程设计、毕业设计
java·vue.js·spring boot·python·django·课程设计·express
Q264336502315 分钟前
【有源码】基于springboot的知识产权管理系统-知识产权咨询问答管理系统-知识产权价值评估管理系统
java·spring boot·mysql·spring·毕业设计·javaweb·课程设计
leikooo9 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
Ivanqhz10 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
沙漠之主10 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
FPGA小徐11 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络