#maven
*Convertion Over Configration -> 规则优于配置*
#### 优势
* 简单
* 测试支持
* 构建简单
* CI
* 插件丰富
####配置
* windows path
* Linux .bash_profile
####maven默认model builder
${MAVEN_HOME}\lib\maven-model-builder-3.5.2\org\apache\maven\model
####查找优先级
~/.m2/setting.xml->conf.setting.xml ->proxy maven 代理
####pom.xml
* groupId->组织域名
* atifactId->功能命名
* version->版本
* package->打包方式 **jar/war/maven-plugin**
####部分元素解析
1. dependencyManagement *子pom不会引用父pom,需要在dependency引用*
1. 只能出现在父pom里边
2. 统一版本
3. 声明
2. dependency
1. type:默认jar
2. scope:
1. compile -> 默认值 -> spring-core
2. test -> 测试
3. runtime -> 运行时使用 -> jdbc驱动实现
4. system 本地的jar添加的另一种方式 -> 配套systemPath
5. provided -> 仅用来编译 -> tomcat-servlet
3. 传递依赖
4. 加载原则
- 就近原则
- 先后原则
5. exclusion(排除):解决冲突
####常用命令
mvn dependency:tree > filename.txt *查看maven jar 依赖关系*
####生命周期 *每个生命周期按顺序执行*
1. clean
2. default
3. site
*Convertion Over Configration -> 规则优于配置*
#### 优势
* 简单
* 测试支持
* 构建简单
* CI
* 插件丰富
####配置
* windows path
* Linux .bash_profile
####maven默认model builder
${MAVEN_HOME}\lib\maven-model-builder-3.5.2\org\apache\maven\model
####查找优先级
~/.m2/setting.xml->conf.setting.xml ->proxy maven 代理
####pom.xml
* groupId->组织域名
* atifactId->功能命名
* version->版本
* package->打包方式 **jar/war/maven-plugin**
####部分元素解析
1. dependencyManagement *子pom不会引用父pom,需要在dependency引用*
1. 只能出现在父pom里边
2. 统一版本
3. 声明
2. dependency
1. type:默认jar
2. scope:
1. compile -> 默认值 -> spring-core
2. test -> 测试
3. runtime -> 运行时使用 -> jdbc驱动实现
4. system 本地的jar添加的另一种方式 -> 配套systemPath
5. provided -> 仅用来编译 -> tomcat-servlet
3. 传递依赖
4. 加载原则
- 就近原则
- 先后原则
5. exclusion(排除):解决冲突
####常用命令
mvn dependency:tree > filename.txt *查看maven jar 依赖关系*
####生命周期 *每个生命周期按顺序执行*
1. clean
2. default
3. site