附下载地址:
maven, windows版链接:http://pan.baidu.com/s/1i4Z0t4D 密码:t5f3
maven, linux版链接:http://pan.baidu.com/s/1gfpd3Q7 密码:04pd
(失效请留言,谢谢!)
一、Maven依赖管理
Maven要求每一个jar包都必须明确定义自己的坐标,Maven就是通过这个坐标来查找管理这些jar包的;在Maven中,一个jar包的坐标是由它的groupId、artifactId、version这些元素来定义的。例如:
groupId:表明其所属组织或公司及其所属项目,命名规则为组织或公司域名反转加项目名称。
artifactId:项目的模块名,通常与实际项目名称一致。模块的命名通常为项目名前缀加模块名。
version:当前项目的版本号。
packaging:定义项目的打包方式,可选值有jar、war、pom。默认为jar
Maven的配置文件中dependencies元素包含了所有依赖的jar包,每一个jar包依赖使用dependency元素定义。
二、eclipse搜索导入jar包
相信不少人知道,eclipse打开pom.xml文件选择Dependencies 可以搜索所需要的jar(进行模糊查询jar的名称),但是有时候我们会发现有的jar包搜索不到。
解决办法:
第一步,在preferences里面选择maven,选中“Download repository index updates on startup"
第二步,打开Maven仓库
第三步,在全局仓库上右键选择“Full Index Enabled"
选择之后,maven会下载一个近百兆的索引文件,下载完会更新索引,需要的过程比较长,可能会卡,建议此期间不要做其他事情
三、POM文件解析:
下面这些配置是POM文件基本不可缺少的配置项:
modelVersion:maven的模型版本,跟随maven定义,一般不能修改
groupId:项目的组织,一般是顶级域名名称+公司或者组织名称,如alibaba的项目组织为com.alibaba,如果你们公司的域名为www.abc.com,那你们的项目组织最好就以com.abc命名。
artifactId:项目的名称,也是项目之间引进依赖的重要标识。像alibaba有个dubbo项目,dubbo项目可能又关联了许多子项目,所以artifactId就会定义有dubbo、dubbo-config这样的工程。
version:项目的版本,项目迭代开发,可能经历许多个版本,靠这个定义,默认是打包的组成部分,如dubbo-2.8.4.jar。另外,版本有两个概念,0.0.1-SNAPSHOT这样的是快照版本,0.0.1-RELEASE或者不带SNAPSHOT的就是RELEASE版本
packaging:打包类型,有这几种类型:pom, jar, maven-plugin, ejb, war, ear, rar, par,默认不填就是jar包,一般常用的是pom、jar、war。
properties:配置公共属性,如spring-web,spring-aop你要依赖这两个,它们肯定是同一个版本的如4.5.0,可以把版本号放在属性上统一管理,也方便维护