java+构建+工具+Ant+Maven+Gradle

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java+构建+工具+Ant+Maven+Gradle相关的知识,希望对你有一定的参考价值。

java+构建+工具+Ant+Maven+Gradle

See the source image

Ant+Maven+Gradle+............

 

 

目前:

Ant已经销声匿迹、Maven也没落了,而Gradle的发展则如日中天。

Maven的主要功能主要分为5点,分别是依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。

 

Ant的特点:

  • a.没有一个约定的目录结构,即没有明确ant做什么,什么时候做(没有生命周期);
  • b.没有集成依赖管理
  • c.使用build.xml进行管理

Maven的特点:

  • a.拥有约定你知道代码放在那里,放到哪里去
  • b.拥有生命周期 :可以自动执行编译,测试,打包等构建过程
  • c.拥有依赖管理,仓库管理
  • d.使用pom.xml进行管理

 

Maven 有哪些作用:

项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

  • 2.提供打包管理
  • 3.使用Maven可以进行热部署

 

注意:

热部署的意思就是在不妨碍已经运行的服务器中的项目情况下,可以直接把修改好的,新版本的项目直接部署到配置好的服务器上的一种部署措施。

Java 程序员常用的 10 大构建工具

 

Apache Maven ——主要用于构建Java项目的自动化工具。

Hudson ——用Java编写的持续集成(CI)工具。

Jenkins ——用 Java 编写的一个开源持续集成工具。项目是在和 Oracle 发生争执后的来自于 Hudson 的分支。

Gradle ——一个开源的自动化构建系统,建立在 Apache Ant 和 Maven Apache 概念的基础上,并引入了基于 Groovy 的特定领域语言(DSL),而不是使用 Apache Maven 宣布的项目配置XML 形式。

Apache Ant ——用于自动化软件构建过程的软件工具,源于 2000 年初的的 Apache Tomcat 项目。

SBT ——用于 Scala 和 Java 项目的开源构建工具,类似于 Java 的 Maven 和 Ant。

Atlassian Bamboo ——持续集成和交付工具,它将自动化构建、测试和发布捆绑到单个流程中。

TeamCity ——来自于 JetBrains 的一个基于 Java 构建的管理和持续集成服务器。

Grape ——嵌入到 Groovy 的 JAR 依赖项管理器。

Ivy ——Apache Ant 项目的一个子项目,一个可传递的依赖项管理器。

Leiningen ——一个自动化构建和依赖性管理工具,用于使用 Clojure 编程语言写的软件项目。

 

 

参考:Java 中三大构建工具Ant、Maven和Gradle

参考:Ant和Maven都是基于Java的构建工具

参考:Java 程序员常用的 10 大构建工具

 

以上是关于java+构建+工具+Ant+Maven+Gradle的主要内容,如果未能解决你的问题,请参考以下文章

Java构建工具:如何用Maven,Gradle和Ant+Ivy进行依赖管理

Maven和Ant的差别

maven入门基础

maven与ant的区别

自动化构建工具

Maven的主要特点