取代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),可以通过一小段描述信息来管理项目的构 ...
随机推荐
- JavaScript中 location.host 与 location.hostname 的区别
JavaScript 中,大多数情况下,我们不会发现 location.host 与 location.hostname 的区别,因为大多数情况下,我们的网页用的是 80 端口. 他们的区别: loc ...
- 超感猎杀/超感八人组第一季至二季/全集Sense8迅雷下载
本季 Sense8 (2015)看点:<超感八人组>由沃卓斯基姐弟执导的科幻剧集是Netflix继“纸牌屋第二季”后的又一大手笔制作,讲述未来世界不同地区的8个人因同时目睹同一暴力事件.从 ...
- 洛谷P1284 三角形牧场
题目描述 和所有人一样,奶牛喜欢变化.它们正在设想新造型的牧场.奶牛建筑师Hei想建造围有漂亮白色栅栏的三角形牧场.她拥有N(3≤N≤40)块木板,每块的长度Li(1≤Li≤40)都是整数,她想用所有 ...
- go语言之进阶篇字符串操作常用函数介绍
下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...
- Android JNI中C和JAVA代码之间的互相调用
关于Android studio中使用NDK/JNI环境和入门:http://blog.csdn.net/quan648997767/article/details/64923143 1. C代码回调 ...
- 第一章 Typescript 介绍
Typescript 介绍 一.Typescript 简介 Typescript 是微软开发的 Javascript 的超集,Typescript 兼容 Javascript,可以载入 Javascr ...
- 10 个非常有用的 SVG 动画的 JavaScript 库
SVG 通常可以用作跨分辨率视频.这意味着在一块高分屏幕上不会降低图片的锐度.此外,你甚至可以让SVG动起来,通过使用一些javascript类库.下面,我们分享一些javascript类库,这些类库 ...
- SQL SERVER 的用户数,连接,连接池 license
SQL SERVER 理论上有32767个逻辑连接,SQL SERVER根据系统自行调配连接池. 首先 ,操作系统的用户数:即同时通过网络连接到这台电脑上面的用户限制,以5用户操作系统,搭建的文件服务 ...
- 【Spark】SparkStreaming-提交到集群运行
SparkStreaming-提交到集群运行 spark streaming 提交_百度搜索 SparkStreaming示例在集群中运行 - CSDN博客
- AI-终极算法-遗传算法