mirror of
https://github.com/CyC2018/Interview-Notebook.git
synced 2026-10-29 23:23:43 +00:00
Update 构建工具.md
重新绘制配图,调整代码块语言,文字校对。
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
+6
-6
@@ -10,17 +10,17 @@
|
||||
|
||||
## 一、构建工具的作用
|
||||
|
||||
构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而为我们减少这些繁琐的工作。
|
||||
构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而减少这些繁琐的工作。
|
||||
|
||||
其中构建工具提供的依赖管理能够可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能帮我们导入 B,而不需要我们手动去寻找并导入。
|
||||
其中构建工具提供的依赖管理可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能自动导入 B,而不需要手动去寻找并导入。
|
||||
|
||||
在 Java 项目中,打包流程通常是将项目打包成 Jar 包。在没有构建工具的情况下,我们需要使用命令行工具或者 IDE 手动打包。而发布流程通常是将 Jar 包上传到服务器上。
|
||||
在 Java 项目中,打包流程通常是将项目打包成 Jar 包。在没有构建工具的情况下,需要使用命令行工具或者 IDE 手动打包。而发布流程通常是将 Jar 包上传到服务器上。
|
||||
|
||||
## 二、Java 主流构建工具
|
||||
|
||||
Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Gradle 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。
|
||||
|
||||
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191208204118932.png"/> </div><br>
|
||||
<div align="center"> <img src="pics/build-tools.png" width="760px"/> </div><br>
|
||||
|
||||
Gradle 和 Maven 的区别是,它使用 Groovy 这种特定领域语言(DSL)来管理构建脚本,而不再使用 XML 这种标记性语言。因为项目如果庞大的话,XML 很容易就变得臃肿。
|
||||
|
||||
@@ -95,7 +95,7 @@ POM 代表项目对象模型,它是一个 XML 文件,保存在项目根目
|
||||
|
||||
#### 1. 依赖路径最短优先原则
|
||||
|
||||
```html
|
||||
```text
|
||||
A -> B -> C -> X(1.0)
|
||||
A -> D -> X(2.0)
|
||||
```
|
||||
@@ -103,7 +103,7 @@ A -> D -> X(2.0)
|
||||
|
||||
#### 2. 声明顺序优先原则
|
||||
|
||||
```html
|
||||
```text
|
||||
A -> B -> X(1.0)
|
||||
A -> C -> X(2.0)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user