转载请注明出处哈:http://yanan0628.iteye.com/blog/2270411
1.什么是maven的聚合模块?
聚合模块为项目目录的最顶层,其他模块作为聚合模块子目录而存在。目的是为一次构建多个项目模块。
1.1 项目结构
我自己化了一个关于项目的关系:
1.2 pom标签配置-module
maven-aggregate作为maven pom项目,需要定义pom.xml的 packaging 为 pom类型
我们还是参照 maven的依赖特性,冲突解决(五) 创建 maven-01 maven-02 maven-03工程,通过maven-aggregate pom工程 对这三个maven项目做一个聚合,配置如下:
<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.sohu.train</groupId> <artifactId>maven-aggregate</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <!-- 子模块 指定项目pom的位置 ..代表上一级目录--> <modules> <module>../maven-01</module> <module>../maven-02</module> <module>..maven-03</module> </modules> </project>
对 maven-aggregate执行下mvn clean compile
[INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.sohu.train:maven-02:jar:1.0-SNAPSHORT [WARNING] 'dependencies.dependency.exclusions.exclusion.groupId' for junit:junit:jar is missing. @ line 38, column 16 [WARNING] 'dependencies.dependency.exclusions.exclusion.artifactId' for junit:junit:jar is missing. @ line 38, column 16 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: //构建 maven 的反应堆,执行清理 编译的顺序 [INFO] [INFO] maven-02 [INFO] maven-01 [INFO] maven-03 [INFO] maven-aggregate [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building maven-02 1.0-SNAPSHORT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-02 --- [INFO] Deleting E:\train\test\maven-02\target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-02 --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory E:\train\test\maven-02\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-02 --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to E:\train\test\maven-02\target\classes [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building maven-01 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-01 --- [INFO] Deleting E:\train\test\maven-01\target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-01 --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 1 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-01 --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to E:\train\test\maven-01\target\classes [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building maven-03 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-03 --- [INFO] Deleting E:\train\test\maven-03\target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-03 --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory E:\train\test\maven-03\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-03 --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to E:\train\test\maven-03\target\classes [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building maven-aggregate 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-aggregate --- [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: // 可以看到 对3个maven项目 一起执行编译 [INFO] [INFO] maven-02 ........................................... SUCCESS [ 1.874 s] [INFO] maven-01 ........................................... SUCCESS [ 0.108 s] [INFO] maven-03 ........................................... SUCCESS [ 0.158 s] [INFO] maven-aggregate .................................... SUCCESS [ 0.002 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.263 s [INFO] Finished at: 2016-01-15T14:35:41+08:00 [INFO] Final Memory: 14M/227M [INFO] ------------------------------------------------------------------------这样我们就完成 maven对子模块的聚合 ,像我们平常用的dubbo jetty tomcat spring hibernate等等 都是按模块 去开发,一次编译 各个模块都能紧密联系在一起了。我们在平常开发项目也需要适当的去分模块开发,
相关推荐
maven多模块打包的pom文件,里面包含多个模块的pom文件,没有代码
这是一个maven依赖+继承+聚合的小例子,用来参考和学习maven
一个简单的maven聚合,继承示例。parent为父目录,account-email,account-persist为子项目,继承了parent的pom.xml文件
【Maven】Maven POM配置详解 - CSDN博客1
该资源包含了一个maven聚合和继承的简单demo,可以参考博客http://blog.csdn.net/mockingbirds/article/details/47374127
Maven聚合和继承 #资源达人分享计划 # 技术文档
maven多环境部署pom文件实例,简单实用。
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。 提供了一个简单的Maven多模块实例
这里是maven继承与聚合代码。
通过Maven的聚合和继承特性创建复杂的多模块项目的简单演示,详细介绍见http://blog.csdn.net/autfish/article/details/51939515
使用Maven构建多模块项目
maven项目,主要是一些配置,如聚合和继承以及插件.私服等,项目按模块区分,多个子项目继承parent
spring boot项目,使用了maven聚合,将实体类和和工具类抽出去,集成了mybatis,freemark,mysql,logback等技术
Maven聚合工程源码,工作空间压缩包
NULL 博文链接:https://yansxjl.iteye.com/blog/2333900
maven项目pom.xml中parent标签的使用
一、Idea关联的maven本地仓库配置...三、3个可单独使用的,maven项目文件pom.xml自定义配置 pom-maven-springboot-CusConfigV1.xml pom-maven-springboot-CusConfigV2.xml pom-maven-spring-CusConfigV1不推荐使用.xml
maven 依赖,聚合,继承,插件运行,已经说明的简单小案例
这是一个maven分模块的小demo,希望对大家有所帮助。如果有什么问题欢迎加关注私信。
基础maven聚合工程的web层Excel导入导出 ,第一次做如有bug清见谅