Build Tools

1.Building tool是什么?html

(Building tool)构建工具是一种工具,它负责构建流程的全部内容,并自动化与构建项目相关的全部内容。它致力于如下任务:java

  • 生成源代码(若是在软件项目中使用自动生成的代码)。
  • 从项目的源代码生成文档。
  • 编译源代码。
  • 将已编译的代码打包到JAR文件或ZIP文件或WAR文件中。
  • 将打包的代码安装在本地存储库,服务器存储库或中央存储库或其余位置。

2.为何要使用Building tool?程序员

Build tool(构建工具)是从源代码自动建立可执行应用程序的程序。构建包括将代码编译,连接和打包成可用或可执行的形式。在小项目中,开发人员一般会手动调用构建过程。这对于较大的项目来讲是不实际的,在这些项目中,很难跟踪须要构建的内容,构建过程当中的顺序和依赖关系。使用自动化工具可使构建过程更加一致;(Building tool)可让任务自动化,能够最大限度地下降人工在手动构建软件时出错的风险,而且一般比手动执行相同过程的人员更快地进行构建。编程

使用(Building tool)构建工具对软件开发项目的好处:服务器

  • 提升产品质量
  • 加速编译和连接处理
  • 消除冗余任务
  • 尽可能减小“糟糕的构建”
  • 消除对关键人员的依赖
  • 有研究和发布的历史,以便调查问题
  • 节省时间和金钱 - 因为上面列出的缘由

3.Java世界如今主流的Building tool有哪些?网络

Java世界中主要有三大构建工具:Ant、Maven和Gradle。通过几年的发展,Ant几乎销声匿迹、Maven也日薄西山,而Gradle的发展则如日中天。maven

Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面,更重要的是,你要把你的软件发布到生产环境中来产生商业价值,因此,你要运行测试,构建分布、分析代码质量、甚至为不一样目标环境提供不一样版本,而后部署。整个过程进行自动化操做是颇有必要的。工具

Ant:测试

Ant是所谓的“现代构建工具”中的第一个,用于自动化构建过程。从理论上讲,它有点像Make,没有Make的皱纹。它以Java实现,主要用于Java项目。Ant的第一个公开发行版是在2000年,因为独立于平台(如Java),具备较低的设置障碍和提供可重复的构建,它很快成为最受欢迎的Java项目构建工具。后来,它也得到了接受插件的能力。gradle

然而,Ant被批评有一些缺点。构建脚本是用XML编写的,XML本质上是分层的,不适合程序编程,这在构建脚本中常常须要。Ant常常声称过于冗长,这意味着它最终会使大型项目的构建脚本难以管理。

Maven:

Maven于2004年首次发布,旨在改进开发人员当时使用Ant和其余构建工具所遇到的一些问题。Maven的最大成就被认为是项目结构约定,依赖关系管理和中央工件库Maven Central的引入。

Maven仍然使用XML来编写构建文件(pom.xml),但结构很是不一样,由于它变成了声明式的。如今开发人员没必要记下致使某些目标的全部命令,而是描述项目的结构(若是它与约定不一样),Maven自己提供了程序员能够调用的可用目标。此外,Maven可以经过网络下载依赖项。

Gradel:

Gradle是三者中最年轻的构建工具,它的开发人员试图将Ant的强大功能和灵活性与Maven的依赖管理和约定相结合,以建立漂亮而有光泽的构建工具。通过几年的开发人员,Gradle v1.0于2012年发布,并迅速开始流行起来。它正在快速发展并已被一些大型企业采用 - 例如,Gradle被选为Google Android操做系统的构建工具。

一个有趣的观点是,使用Gradle,XML再也不使用了 - 相反,开发人员拥有基于JVM语言Groovy的域特定语言(DSL),这是发明的,所以开发人员能够抛弃XML的冗长,写得更简单明了声明。这引起了用户之间的争论,即标准的,易于理解(但冗长的)XML风格是否比DSL更好或更差。

参考:

https://developer.fedoraproject.org/tech/languages/java/java-build-tools-installation.html

https://zeroturnaround.com/rebellabs/java-build-tools-maven-gradle-and-ant-plus-the-dsl-vs-xml-debate/

相关文章
相关标签/搜索