1:解压maven核心程序得到:apache-maven-3.2.2
2:将apache-maven-3.2.2放入无中文无空格目录
3:配置Maven_Home环境变量跟path(注意:需先有JAVA_HOME环境变量)
4:保存好maven常用依赖包:RepMaven
5:Maven编译时会默认读取当前电脑的.m2\repository文件下的依赖包 可以在maven核心程序中修改该路径(将D:\apache-maven-3.2.2\conf\settings文件中的<localRepository>/path/to/local/repo</localRepository>的路径修改成指定路径),有了常用的依赖包,一般情况下将不需要下载其他的依赖文件了
6:maven的坐标,maven通过三个坐标在中央仓库定位一个唯一的maven工程:
6.1:groupid:公司或组织域名+项目名称,如:<groupid>com.fu.maven</groupid>
6.2:artifactid:模块名称,如:<artifactid>Hello</artifactid>
6.3:version:版本,如<version>1.0.0</version>
6.4:maven坐标对应的jar包位置为:com/fu/maven/Hello/Hello-1.0.0.jar
7:依赖:Maven解析依赖信息会到本地仓库中查找被依赖的包(根据坐标),对于我们自己开发的Maven工程,使用mvn install命令来安装
8:依赖的范围有三个常用取值:1、compile(全程参与:包括对程序有效,打包,部署等)2、test3(仅对测试程序有效,且不参与打包)、provided(对程序有效,不参与打包,不参与部署,本事服务器会提供,所以不需要打包,典型例子servlet-api.jar)
9:maven插件设置流程:
1、Preferences-maven-Installations-将解压的maven核心程序添加(不使用自带的)
2、Preferences-maven-User Settings-设置本地仓库的位置
10:依赖compile具有传递性 底层依赖会传递到顶层
11:依赖排除:在当前依赖节点(一般只有特殊情况才会排除依赖,比如jar包不稳定或者受jar干扰等因素)
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
12:依赖冲突原则:
12.1:依赖路径短的优先:比如 A依赖B,B依赖C,B依赖servlet-api-1.0.0.jar,C依赖servlet-api-1.0.1.jar;那么最终A会依赖1.0.0.jar
12.2:先配置优先:比如 A依赖B,A依赖C,B依赖1.0.0.jar,C依赖1.0.1.jar;那么最终以pom.xml中的依赖配置顺序来取决最终结果
13:jar包统一升级版本:通过<properties></properties>标签配置
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<com.fu.dawson>3.0-JBoss-4.0.2</com.fu.dawson>
</properties>
通过依赖配置的<version>节点引入:
<version>${com.fu.dawson}</version>
14:通过properties标签声明自定义节点属性的方式配置还可以做类似其他的事情