Maven核心概念之仓库,生命周期与插件
宏观图
一、仓库
统一存储全部Maven项目共享的构建的位置就是仓库。
仓库分为本地仓库和远程仓库。远程仓库又分为中央仓库(中央仓库是Maven核心自带的远程仓库),伺服(还有一种特殊的远程仓库,为节省宽带和时间,在局域网内架设的一个私有的仓库server,用其代理全部的外部的远程仓库。内部项目也能部署到伺服上),其它公开的远程仓库(常见的由Java.net Maven库,Jboss Maven库)。
Maven依据坐标寻找构件的时候,它首先会查看本地仓库,假设本地仓库存在此构件,则直接使用;假设本地仓库不存在此构件,maven就会去远程仓库查找,发现须要的构件后。下载到本地仓库再使用。
如图:
Maven仓库的分类
三种仓库的布局:
二、插件与生命周期
Maven本质上是一个插件框架。它的核心并不运行不论什么详细的构建任务,只定义了抽象的生命周期,全部这些任务都交给插件来完毕的。
将生命周期的阶段与插件目标互相绑定,就能够在特定的阶段完毕详细的构建任务。
1.生命周期
Maven的生命周期是抽象的,这意味着生命周期本身不做不论什么实际的工作。在Maven的设计中。实际的任务都交由插件来完毕。生命周期抽象了构建的各个步骤。定义了它们的次序,利用插件机制详细实现。每一个构建步骤都能够绑定一个或多个插件行为。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="241" width="589">
Maven拥有三套相互独立的生命周期分别为clean,default,site。
详细详情可见:
2.插件
Maven的核心只定义了抽象的生命周期。详细的任务是交由插件完毕的。插件以独立的构建形式存在。
每一个插件都能至少完毕一个任务,一个任务即一个功能,将这些功能应用在构建过程的不同生命周期中。这样既能保证拿来即用。又能保证maven本身的繁杂和冗余。
2.1插件目标
每个功能就是一个插件目标,一个插件里能够有非常多功能。
2.2插件绑定
Maven的生命周期与插件互相绑定,用以完毕实际的构建任务。
详细而言,是生命周期的阶段与插件的目标相互绑定。
插件绑定分为两类:
内置绑定:为了能让用户差点儿不用不论什么配置就能构建Maven项目,Maven在核心为一些基本的生命周期阶段绑定了非常多插件目标。
用户通过命令行调用生命周期阶段的时候,相应的插件目标就会运行相应的任务。直接能够理解为默认绑定了一部分生命周期和插件。能够直接用。无需配置;
自己定义绑定:用户依据自己的选择将某个插件目标绑定到生命周期的某个阶段,这样的绑定方式可以在项目构建过程中运行很多其它更富特色的任务。
2.3插件配置
完毕插件和生命周期的绑定后,用户还能够配置插件目标的參数,进一步调整插件目标所运行的任务。以满足项目需求 。
大致分为命令行插件配置、POM中插件全局配置、POM中插件任务配置这三类。详细不赘述。
Maven核心概念之仓库,生命周期与插件的更多相关文章
- Maven学习(四)-- 生命周期和插件
标签(空格分隔): 学习笔记 Maven生命周期是抽象的,不做任何实际的工作,在Maven的设计中,实际的任务都交由插件来完成. 每个构件步骤都可以绑定一个或者多个插件行为,而且Maven为大多数构建 ...
- Maven学习笔记(六):生命周期与插件
何为生命周期: Maven的生命周期就是为了对全部的构建过程进行抽象和统一.Maven从大量项目和构建工具中学习和反思,然后总结了一套高度完好的.易扩展的生命周期.这个生命周期包括了项目的清 ...
- (二)Maven 基本概念——依赖、生命周期、仓库管理、聚合&继承
1. 依赖配置 1.1 依赖配置主要包含如下元素: <!--添加依赖配置--> <dependencies> <!--项目要使用到junit的jar包,所以在这里添加ju ...
- Spring Framework核心概念之Bean生命周期管理
目录 Spring Bean的生命周期 相关接口的分类 测试SpringBean生命周期的Demo程序 小结 Spring Bean的生命周期 Spring容器既Application或者WebApp ...
- maven的仓库、生命周期与插件
一.仓库 统一存储所有Maven项目共享的构建的位置就是仓库. 仓库分为本地仓库和远程仓库.远程仓库又分为中央仓库(中央仓库是Maven核心自带的远程仓库),伺服(另一种特殊的远程仓库,为节省宽带和时 ...
- (十二)Maven生命周期和插件
除了坐标.依赖以及仓库之外,Maven的另外两个核心概念是生命周期和插件.在有关Maven的日常使用中,命令行的输入往往就对应了生命周期,如mvn package就表示执行默认生命周期阶段packag ...
- Maven生命周期和插件机制
Maven中的一个非常重要的概念是生命周期和插件,这篇文章重点介绍下Maven的生命周期. Maven的生命周期是抽象的,具体的功能是有具体的插件来完成的,Maven有相当多的功能插件,以至于Mave ...
- maven 核心概念
1). 项目构建过程中的各个环节 . 清理 . 编译 . 测试 . 报告 . 打包 . 安装 . 部署 2). 配置环境变量 . 配置 JDK 配置 JAVA_HOME + PATH maven 需要 ...
- (转)Maven学习总结(四)——Maven核心概念
孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(四)——Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Mav ...
随机推荐
- 转:VMMAP内存查看工具
转:http://blog.csdn.net/woddle/article/details/45337767 下面我根据VMMap来详细介绍一下内存的分类. 内存是一个很复杂的系统,其中的paging ...
- ZOJ 3953 Intervals
线段树,排序. 按照$R$从小到大排序之后逐个检查,如果$L$,$R$最大值不超过$2$,那么就把这个区间放进去,区间$+1$,否则不能放进去. #include<bits/stdc++.h&g ...
- BZOJ1064 NOI2008假面舞会
挺神的这题,发现只有环和链两种情况 搜索时我们只考虑环的,因为链可以看成找不到分类的环. 当成链时大小是的最大值是各链长的和,最小值是3 当成环时最大值是各环长的gcd,最小值是大于3的最小的ans的 ...
- EMGU 2.9.X在VS2010下调试真正靠谱的配置
emgu有多强大或者干什么的网上找资料吧.这里就说说我在2010下的配置的经历. 在网上找了很多资料,有细节到一步一步的,但我跟着弄还是没有成功.比如修改cpu,复制emgu的bin目录下某些所需文件 ...
- 如何使用Eclipse插件—Easy Explorer
Easy Explorer是一个Eclipse插件,主要用于快速浏览项目文件的目录,实用性比较强. 使用方法如下: 1.下载Easy Explorer,从此处下载EasyExplorer:http:/ ...
- dcoker常用命令
记录一下常用的命令 docker run -t -i xxxx /bin/bash 运行容器的交互会话shell docker start xxxx 启动容器 docker stop xxxx 停止 ...
- redisson实现基于业务的互斥锁
虽然数据库有锁的实现,但是有时候对于数据的操作更需要业务层控制. 这个解决的问题有次面试被问到过,当时不知道怎么解决,乱说一通,今天也算是有个解决方案了 项目中有个需求,就是订单需要经过一层一层的审核 ...
- 【8.22校内测试】【数学】【并查集】【string】
今天的t2t3能打出来80分的暴力都好满足啊QwQ.(%%%$idy$ 今天的签到题,做的时候一眼就看出性质叻qwq.大于11的所有数分解合数都可以用4.6.9表示,乱搞搞就可以了. #include ...
- UVA 10531 Maze Statistics 迷宫统计 迷宫插头DP 四联通 概率
题意: 有一个N*M的图,每个格子有独立概率p变成障碍物.你要从迷宫左上角走到迷宫右下角.求每个格子成为一个有解迷宫中的障碍物的概率.N <= 5,M <= 6 分析: 这真是一道好题,网 ...
- Scala 元组
与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素. 元组的值是通过将单个的值包含在圆括号中构成的.例如: val t = (1, 3.14, "Fred") ...