取代Ant——Maven简介
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6625724.html
一:目前开发存在的问题
在没有Maven之前,我们开发一个项目,需要自行导入各种不同的jar包。当依赖包数量多起来,就很难管理了。而且,如果团队开发时,一个人提交的项目所使用的IDE版本与另一个人的不一致,那么所提及的项目就可能不能正常地在别人的IDE中编译、运行。总的来说,大概有以下几类问题:
1:jar包太多,需要手动下载、导入,比较麻烦;
2:jar包有依赖冲突时,需要自行排查;
3:使用ant脚本构建项目时,需要写很多重复的任务;
4:项目拷贝给别人时,不仅源代码,还需要拷贝大量jar包;
5:测试项目时,需要一个个运行测试;
二:Maven能干什么
Maven现在越来越流行,已经逐步取代Ant。它比Ant单一的批处理功能提供更多实用服务。
1:依赖管理:通过一个xml文件,同一管理项目中所以jar包。开发项目时,需要用到的jar包只需在配置文件中配置好几个相关信息,Maven就会自动下载、导入到项目中,并且如果该jar包有依赖包,也会自动一并下载、导入。如果项目有jar包依赖冲突,只需通过Maven的 mvn -X compile dependency:tree -Dverbose 指令即可自动排查出冲突的jar包信息。
2:项目构建:这一步类似Ant,可以通过Maven的配置脚本批处理项目的编译、测试、打包、部署、发布等操作;
3:信息管理:管理项目的相关信息,比如版本信息、开发者信息等。
三:Maven依赖管理简介
1:在pom.xml中进行同一配置,管理;
2:对每个jar包,通过:groupId、artifactId、version 三个信息唯一确定一个jar包;
3:jar包的来源:在配置好jar包信息后,Maven是如何高效率地找到所需jar包并下载导入的?主要有三个来源。
1)本地资源库:Maven安装后会在本机创建一个reposity文件夹,执行pom.xml时会把jar包下载到这里来,如果已经有的,就不会再下载。相当于一个本地缓存。
2)共享资源库:即中央资源库,Maven有一个中央仓库存放来自全世界的共享jar包,通过配置的 groupId、artifactId、version 即可在中央仓库中唯一定位jar包,然后下载到本地资源库中。
3)私人资源库:也叫中转资源库。对于一个公司而言,有可以有自己开发的jar包,并且不想公开出去;还有,公司可以提供一个jar包中转站,把网上常用的jar包先下载到一个仓库中,公司程序员在本地资源库找不到所需jar包时可以先到公司的资源库寻找、下载,这样就无需到网上下载了。这个资源库就是私人资源库。
4:jar包的寻找过程:执行pom.xml—>本地资源库寻找—>私人资源库寻找—>中央资源库寻找
5:Maven资源库配置:进入maven安装目录/conf/ ,编辑 settting.xml:
本地仓库:<localRepository>:表示本地库的保存位置,也就是maven2主要的jar保存位置,默认在${user.dir}/.m2/repository,如果需要另外设置,就换成其他的路径。
共享仓库:Mirrors 表示镜像库,指定库的镜像,用于增加其他库(私库、远程库)
关于Maven的具体使用,会在后面详细记录。
取代Ant——Maven简介的更多相关文章
- maven 简介
本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Ma ...
- 学习笔记-[Maven实战]-第一章:Maven简介
Maven简介: Maven 可翻译为:知识的积累,也可以翻译为"专家"或"内行". Maven 是一个跨平台的项目管理工具,是Apache组织中一个很成功的开 ...
- (一)《Maven实战》读书笔记 —— Maven简介
第一章:Maven简介 一.何为Maven? Maven这个词可以翻译为"知识的积累",本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个个颇为成功的开源项 ...
- maven简介及基础使用
一.Maven简介 Maven可译为"知识的积累"."专家",主要服务于基于Java平台的项目构建.依赖管理和项目信息管理. 1.Maven-项目构建工具 ...
- Ant,Maven与Gradle的概念的理解
转载地址:http://www.jianshu.com/p/cd8fe9b16369# 我们还是以AndroidStudio 2.1.1为例来讲. 用AndroidStudio就逃不开跟Gradle打 ...
- windows安装jenkins及ant/maven/jdk配置
一.jenkins安装 下载地址:https://jenkins.io/download/,下载下来为一个war文件 (1)第一种启动方式,电脑一启动,jenkins会自动运行 命运行运行 java ...
- Maven简介(一)
在现实的企业中,以低成本.高效率.高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的.当然,管理可以说有很多的方面,例如:对人员的管理,也有对项目的管理等等.如果你 ...
- Maven简介(Maven是什么)
简介 Maven,在意第绪语中意为对知识的积累.Maven最初用来在Jakarta Turbine项目中简化该项目的构建过程.Jakarta Trubine项目有多个工程,每个工程都有自己的多个Ant ...
- [JavaEE] Maven简介
转载自:百度 http://baike.baidu.com/view/336103.htm?fr=aladdin 一.简介 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构 ...
随机推荐
- BaseControl按钮合集
BaseControl按钮合集 效果 源码 https://github.com/YouXianMing/Animations // // POPBaseControl.h // Animations ...
- 法外之徒第一季/全集Braquo迅雷下载
英文译名 Braquo (第1-2季) (2012-01-05首播)法国.本季看点:<法外之徒>Eddy.Théo.Walter和Roxane私人本是巴黎上塞纳省地区的警察. 因为他们的好 ...
- JQuery攻略(六)菜单导航
jQuery菜单导航的基础应用 此章节有 1.0 页面导航 1.01面包屑菜单 1.02菜单悬停 1.03菜单快捷键 1.04两个单独的菜单 1.05折叠菜单 1.01面包屑菜单 html <b ...
- appstore防代充的一些想法
点击这里可以查看代充相关的报道, 利用苹果商店规则漏洞,出现了一个灰色地下产业链>> 用户点击选择要充值的物品时,先向后台服务器发起一个创建订单号的请求,然后再向appstore发起购买商 ...
- 对于多个button要在同一个监听器中实现自己的单击事件的方法小诀窍。
在网上的一些教程中往往是把一个button加入多个监听器,却非常少有人会把多个button在同一个监听器中去实现他们的单击事件,并且这杨的事实上是非常有用的,比方说在制作一个简单的计算器是就须要0-9 ...
- 《Python计算机视觉编程》
<Python计算机视觉编程> 基本信息 作者: (美)Jan Erik Solem 译者: 朱文涛 袁勇 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:978711535 ...
- 关于MySQL的行转列的简单应用(二)---group函数
MySQL的行转列.列转行.连接字符串 concat.concat_ws.group_concat函数用法使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一 ...
- Pandas删除数据的几种情况
开始之前,pandas中DataFrame删除对象可能存在几种情况 1.删除具体列 2.删除具体行 3.删除包含某些数值的行或者列 4.删除包含某些字符.文字的行或者列 本文就针对这四种情况探讨一下如 ...
- MongoDB资料大全
摘要: 为了帮助大家进一步了解MongoDB,云栖社区组织翻译了GitHub Awesome MongoDB 资源,涵盖MongoDB中常见的库与工具.应用列表.以及相关的文档.教程等资源. Mong ...
- pchar,pwidechar,pansichar作为返回参数时内存访问错误
function Test:pachr: var str: string; begin str := 'Test Char'; result:=pchar(str); end; 上面的Te ...