(九)maven之聚合多模块

聚合项目
一些开源项目,都会把自己的源代码公开到github之类的网站上,我们通过下载其代码,在本地执行maven install,可以把代码编译成jar包安装到本地仓库。而一个项目通常有多个模块,比如spring就有spring web、spring core等20多个模块,如果一个个的执行maven install,太过繁琐,而且这些模块都是彼此依赖的,必须搞清楚各模块依赖关系按顺序执行,才不会报错。而聚合项目就是通过一次maven install,自动完成上面的整个过程。
创建聚合项目
父模块创建方法:和继承是一样的。可以参考上一篇文章:https://www.cnblogs.com/NYfor2018/p/9074034.html
子模块创建方法:
① 和继承不一样,在eclipse中创建项目—其他。选中“maven module”,而不是“maven project”。

Module Name:子模块的名字。
Parent Project:点击“Browse”,选择父模块的项目。
② 点击“Next”,进入Archetype页面,选择项目骨架,如果是一个web模块,选择webapp下一步。

已经自动继承到父模块的group id,可以不用修改,直接完成。

这时会创建一个model1,这个项目和普通maven项目没有任何区别。不过在parent中多了一个model1目录,并且修改了pom.xml。


找到eclipse的工作空间目录,你会发现model1并不在workspace根目录下,而是在parent目录下,所以会在parent目录中显示model1目录,这样更加便于管理。

聚合项目
对parent执行maven install,可以看到model1也会被执行。构建顺序首先是parent,然后是model1。

导入聚合项目
导入maven项目,选择parent,会自动将其子模块带进来,可以勾选你要导入哪些子模块。

导入之后:

参考文章:https://blog.csdn.net/wangb_java/article/details/57398937
(九)maven之聚合多模块的更多相关文章
- maven(11)-聚合多模块
聚合项目 一些开源项目,都会把自己的源代码公开到github之类的网站上,我们通过下载其代码,在本地执行maven install,可以把代码编译成jar包安装到本地仓库.而一个项目通常有 ...
- Maven 的聚合(多模块)和 Parent 继承
2017年06月26日 21:16:57 Maven 的聚合(多模块)和 Parent 继承 - 偶尔记一下 - CSDN博客 https://blog.csdn.net/isea533/articl ...
- maven的聚合与继承
新建一个空的maven项目user-parent Pom.xml内容 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- Maven之 聚合与继承 详解
说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现. 一.为什么要聚合? 随着技术的飞速发展和各类用户对软件的要求越来越高, ...
- maven的聚合和继承
Maven的聚合特性能够把项目的各个模块聚合在一起构建: 而Maven的继承特性则能帮组抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能促进各个模块配置的一致性. 聚合:新建一个项目demo ...
- 你分得清楚Maven的聚合和继承吗?
用了 Maven 好几年了,许多人还是只懂得简单的依赖坐标.对于 Maven 的聚合和继承还是一知半解,甚至很多人以为是同一个东西.但其实聚合是用于快速构建项目,是表示项目与子项目之间的关系.而继承则 ...
- maven工程聚合和继承的意义
聚合的意义: 对于一个大型的项目,如果我们直接作为一个工程开发,由于相互之间的依赖我们只能从头到尾由一组人开发,否则就会出现一个类好多人开发,相互更改的混乱局面,这个时候我们就将项目进行了横向和纵向的 ...
- Maven入门-5.Maven的聚合和继承
1.Maven的聚合1.1 聚合的配置2.Maven的继承2.1 可被继承的POM元素2.2 POM中使用继承2.3 继承dependency 1.Maven的聚合 在Maven入门-4.Maven的 ...
- maven环境配置详解,及maven项目的搭建及maven项目聚合
首先:Maven 3.2.1:不同版本中仓库中文件是不一样的,Maven运行,先找用户配置,再找全局配置 1. Maven全局配置:全局统一的配置文件,在maven的安装目录中 2. Maven用户配 ...
随机推荐
- 内存、缓存、cpu之间的关系
一.缓存和内存 许多人认为,“缓存”是内存的一部分 许多技术文章都是这样教授的 但是还是有很多人不知道缓存在什么地方,缓存是做什么用的 其实,缓存是CPU的一部分,它存在于CPU中 CPU存取数据的速 ...
- 剖析JSONP原理的小例子
1. 服务器端代码(Node.js) // 导入 http 内置模块 const http = require('http'); // 这个核心模块,能够帮我们解析 URL地址,从而拿到 pathna ...
- 算法学习--Day8
今天重拾算法复习. 今天学习了两个类型的算法——并查集与最小生成树(MST) 简单记录一下并查集的大致内容. 一.并查集的内容大致作用为查找当前图中的点有几个集合. 该算法起到查询分组的情况.通过给定 ...
- 小试JVM工具
一.前言 工欲善其事必先利其器,jdk自带了很多工具,利用好这些工具能够帮我们获取想要的数据(运行日志.异常堆栈.GC日志.线程快照.堆转储快照等),从而快速的分析数据.定位问题. 二.jps:虚拟机 ...
- SecureCRT 退格键等不好用
1.MongoDB Shell中退格键使用的问题. 利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入 ...
- noip2017普及组
过了这么久才来写博客,也是我这么一段时间都很低迷吧.... 老实来说,今年应该是要打提高组的...可还是打了普及组... 其实最猥琐的还是我连普及都写挂了,作为一个学了两年的人,图论,进阶dp都写过的 ...
- js实现打印正三角
代码: <html> <head> <title>function</title> </head> <body> <scr ...
- python元组,列表,字典练习
#coding = utf-8 goods_data = (["iphone7",8000],["mac pro",12000],["bike&quo ...
- CF #541div2 E
题目本质:忽略串的变化,只记载26个字母的相关变化. 解决方法: 在上一次与本次的转移过程中,情况并不多,主要取决于本次串的首尾字母,若不是本次的首尾字母,会被置1:如果是的话,分情况接一下并更新.另 ...
- UVA11292(排序贪心)
笔者休息娱乐. ; int n, m, a; ll solve(int n, int m) { ll ans = ; priority_queue<int, vector<int>, ...