(九)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用户配 ...
随机推荐
- Python2.7 urlparse学习
urlparse模块主要是把url拆分为6部分,并返回元组.并且可以把拆分后的部分再组成一个url.主要有函数有urljoin.urlsplit.urlunsplit.urlparse等. urlpa ...
- JAVA 数组的常用操作
目录: 声明数组: 初始化数组: 查看数组长度: 遍历数组: int数组转成string数组: 从array中创建arraylist: 数组中是否包含某一个值: 将数组转成set集合: 将数组转成li ...
- Oracle 11g client 安装
本文所有红色字体标注的为本人计算机安装方法(Oracle 11g安装在本地 Oracle 11g client 也是安装在本地 如果情况一致 可参照本人方法安装) Oracle 11g client ...
- Educational Codeforces Round 18D(完全二叉树中序遍历&lowbit)
题目链接:http://codeforces.com/contest/792/problem/D 题意:第一行输入n, q,分别表示给出一颗n个节点的中序遍历满二叉树,后面有q个询问; 接下来有q组形 ...
- linux ping
ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ...
- CSS中em,px区别(转)
这里向大家描述一下CSS中px和em的特点和区别,px像素(Pixel),相对长度单位,像素px是相对于显示器屏幕分辨率而言的,而em是相对长度单位,相对于当前对象内文本的字体尺寸,相信本文介绍一定会 ...
- hibernate下载
- [POI2011]Plot
https://szkopul.edu.pl/problemset/problem/mzrTn1kzVBOAwVYn55LUeAai/site/?key=statement 既卡常又卡精度...真的A ...
- centos7版本对比之前版本的部分命令差异
centos7版本下的命令和之前的centos版本的命令有些许不同,最近在电脑上用VBox安装了一个centos7版本.在做一些网卡配置和安装mysql的时候遇到了一些问题.在这里总结跟大家分享下. ...
- 如何实现序列化为json
因为需要观察对象的数据,所以寻找能自动描述对象中字段名和其值的描述类,咨询了不少人,都推荐使用json,但是json使用起来有一点额外的操作. 需要在文件中引用 using System.Web.Sc ...