Maven -- 模块聚合 (统一编译和安装等等命令...)& 模块聚合示例 & 打包方式分析

Posted Z && Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven -- 模块聚合 (统一编译和安装等等命令...)& 模块聚合示例 & 打包方式分析相关的知识,希望对你有一定的参考价值。

1. 模块聚合


1.1 多模块的构建维护

对于现在这些模块,他们都会发布在本地仓库,并且他们是层层依赖递进的


1.2 问题分析

这时侯,如果ssm_dao模块更新后(重新install了一次),其余的并不知道。如果这次更新做的调整导致其他模块不能够正常的使用该模块,那么整个项目的无法启动。


1.3 解决方案

最好是这些模块同时进行更新,所有最好有一个新的根(root)模块负责管理这些模块。只要这个根模块一更新(编译,安装…),其余的模块就跟着更新。而这种工作方式就叫做聚合


2. 模块聚合示例


2.1 目标


2.2 新建ssm模块 移除src目录


2.3 修改ssm模块的pom文件 使其成为根模块

<?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.tian</groupId>
    <artifactId>ssm</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--定义该工程用于进行构建管理-->
    <packaging>pom</packaging>

    <!--管理的工程列表-->
    <modules>
        <!--具体的工程名称 最好是安装依赖的顺序写-->
        <module>../ssm_pojo</module>
        <module>../ssm_dao</module>
        <module>../ssm_service</module>
        <module>../ssm_controller</module>
    </modules>
</project>

现在ssm模块就成为了根模块


2.4 测试

结论:


2.5 总结


3. 打包方式分析

示例:

<packaging>war</packaging>

  • jar: 普通工程(默认)
  • war: web工程
  • pom: 聚合工程


以上是关于Maven -- 模块聚合 (统一编译和安装等等命令...)& 模块聚合示例 & 打包方式分析的主要内容,如果未能解决你的问题,请参考以下文章

maven-聚合与继承

Maven下载安装和配置

maven_进阶

maven-聚合和继承

maven-聚合和继承

Java开发学习----Maven聚合和继承解析