java+构建+工具+Ant+Maven+Gradle
Posted Data+Science+Insight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java+构建+工具+Ant+Maven+Gradle相关的知识,希望对你有一定的参考价值。
java+构建+工具+Ant+Maven+Gradle
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的主要内容,如果未能解决你的问题,请参考以下文章