diff --git a/docs/notes/构建工具.md b/docs/notes/构建工具.md index 4df876d8..a66f3107 100644 --- a/docs/notes/构建工具.md +++ b/docs/notes/构建工具.md @@ -8,34 +8,17 @@ # 一、构建工具的作用 -构建工具是用于构建项目的自动化工具,主要包含以下工作: +构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而为我们减少这些繁琐的工作。 -## 依赖管理 +其中构建工具提供的依赖管理能够可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能帮我们导入 B,而不需要我们手动去寻找并导入。 -不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖关系。 - -## 运行单元测试 - -不再需要在项目代码中添加测试代码,从而避免了污染项目代码。 - -## 将源代码转化为可执行文件 - -包含预处理、编译、汇编、链接等步骤。 - -## 将可执行文件进行打包 - -不再需要使用 IDE 将应用程序打包成 Jar 包。 - -## 发布到生产服务器上 - -不再需要通过 FTP 将 Jar 包上传到服务器上。 +在 Java 项目中,打包流程通常是将项目打包成 Jar 包。在没有构建工具的情况下,我们需要使用命令行工具或者 IDE 手动打包。而发布流程通常是将 Jar 包上传到服务器上。 # 二、Java 主流构建工具 Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Gradle 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。 - -

+

Gradle 和 Maven 的区别是,它使用 Groovy 这种特定领域语言(DSL)来管理构建脚本,而不再使用 XML 这种标记性语言。因为项目如果庞大的话,XML 很容易就变得臃肿。 diff --git a/notes/pics/image-20191208204118932.png b/notes/pics/image-20191208204118932.png new file mode 100644 index 00000000..c6357651 Binary files /dev/null and b/notes/pics/image-20191208204118932.png differ diff --git a/notes/构建工具.md b/notes/构建工具.md index 4df876d8..a66f3107 100644 --- a/notes/构建工具.md +++ b/notes/构建工具.md @@ -8,34 +8,17 @@ # 一、构建工具的作用 -构建工具是用于构建项目的自动化工具,主要包含以下工作: +构建一个项目通常包含了依赖管理、测试、编译、打包、发布等流程,构建工具可以自动化进行这些操作,从而为我们减少这些繁琐的工作。 -## 依赖管理 +其中构建工具提供的依赖管理能够可以自动处理依赖关系。例如一个项目需要用到依赖 A,A 又依赖于 B,那么构建工具就能帮我们导入 B,而不需要我们手动去寻找并导入。 -不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖关系。 - -## 运行单元测试 - -不再需要在项目代码中添加测试代码,从而避免了污染项目代码。 - -## 将源代码转化为可执行文件 - -包含预处理、编译、汇编、链接等步骤。 - -## 将可执行文件进行打包 - -不再需要使用 IDE 将应用程序打包成 Jar 包。 - -## 发布到生产服务器上 - -不再需要通过 FTP 将 Jar 包上传到服务器上。 +在 Java 项目中,打包流程通常是将项目打包成 Jar 包。在没有构建工具的情况下,我们需要使用命令行工具或者 IDE 手动打包。而发布流程通常是将 Jar 包上传到服务器上。 # 二、Java 主流构建工具 Ant 具有编译、测试和打包功能,其后出现的 Maven 在 Ant 的功能基础上又新增了依赖管理功能,而最新的 Gradle 又在 Maven 的功能基础上新增了对 Groovy 语言的支持。 - -

+

Gradle 和 Maven 的区别是,它使用 Groovy 这种特定领域语言(DSL)来管理构建脚本,而不再使用 XML 这种标记性语言。因为项目如果庞大的话,XML 很容易就变得臃肿。