auto commit

This commit is contained in:
CyC2018
2018-09-01 01:22:24 +08:00
parent 06190f2f19
commit 0b2d8ac6fd
16 changed files with 263 additions and 302 deletions

View File

@ -1,11 +1,12 @@
<!-- GFM-TOC -->
* [一、什么是构建工具](#一什么是构建工具)
* [一、构建工具的作用](#一构建工具的作用)
* [二、Java 主流构建工具](#二java-主流构建工具)
* [三、Maven](#三maven)
* [参考资料](#参考资料)
<!-- GFM-TOC -->
# 一、什么是构建工具
# 一、构建工具的作用
构建工具是用于构建项目的自动化工具,主要包含以下工作:
@ -29,10 +30,6 @@
不再需要通过 FTP 将 Jar 包上传到服务器上。
参考资料:
- [What is a build tool?](https://stackoverflow.com/questions/7249871/what-is-a-build-tool)
# 二、Java 主流构建工具
主要包括 Ant、Maven 和 Gradle。
@ -72,12 +69,6 @@ dependencies {
}
```
参考资料:
- [Java Build Tools Comparisons: Ant vs Maven vs Gradle](https://programmingmitra.blogspot.com/2016/05/java-build-tools-comparisons-ant-vs.html)
- [maven 2 gradle](http://sagioto.github.io/maven2gradle/)
- [新一代构建工具 gradle](https://www.imooc.com/learn/833)
# 三、Maven
## 概述
@ -114,7 +105,7 @@ POM 代表项目对象模型,它是一个 XML 文件,保存在项目根目
## 依赖原则
### 依赖路径最短优先原则
### 1. 依赖路径最短优先原则
```html
A -> B -> C -> X(1.0)
@ -122,7 +113,7 @@ A -> D -> X(2.0)
```
由于 X(2.0) 路径最短,所以使用 X(2.0)。
### 声明顺序优先原则
### 2. 声明顺序优先原则
```html
A -> B -> X(1.0)
@ -131,7 +122,7 @@ A -> C -> X(2.0)
在 POM 中最先声明的优先,上面的两个依赖如果先声明 B那么最后使用 X(1.0)。
### 覆写优先原则
### 3. 覆写优先原则
子 POM 内声明的依赖优先于父 POM 中声明的依赖。
@ -139,9 +130,11 @@ A -> C -> X(2.0)
找到 Maven 加载的 Jar 包版本,使用 `mvn dependency:tree` 查看依赖树,根据依赖原则来调整依赖在 POM 文件的声明顺序。
参考资料
# 参考资料
- [POM Reference](http://maven.apache.org/pom.html#Dependency_Version_Requirement_Specification)
- [What is a build tool?](https://stackoverflow.com/questions/7249871/what-is-a-build-tool)
- [Java Build Tools Comparisons: Ant vs Maven vs Gradle](https://programmingmitra.blogspot.com/2016/05/java-build-tools-comparisons-ant-vs.html)
- [maven 2 gradle](http://sagioto.github.io/maven2gradle/)
- [新一代构建工具 gradle](https://www.imooc.com/learn/833)