java中自动化构建工具?

如题所述

一个大型的java项目的开发往往需要加载很多的各式各样的第三方jar包依赖,这时就需要专门工具来维护这些繁杂的jar包,否则各个jar包的版本问题,依赖问题会让你头很大,当多个团队协作开发时,项目的标准框架配置也需要能够快速在不同团队之间复制,另外项目从创建、开发、测试、发布的整个项目生命周期也需要专门的工具来维护。



自动化构建工具就是为了解决以上这些问题的。


目前比较主流的自动化构建工具主要有:Maven、gradle、Ant等。其中Ant已经走下坡路,除了维护以前的老项目以外,已经基本没有公司用了。过去几年中Maven已经成为java项目的事实构建工具,没有之一。而近两年Gradle获得越来越多的人使用,分走了不少Maven的用户。在这我们主要了解一下Maven和gradle。


Maven



Maven是一个采用纯Java编写的开源项目管理工具。它包含了一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。Maven采用了一种被称之为projectobjectmodel(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个生命周期,包括编译,构建,测试,发布,报告等等。


gradle


Gradle是一个基于ApacheAnt和ApacheMaven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。


和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等。北京电脑培训发现与Maven不同的是,Gradle不提供内建的项目生命周期管理,只是javaPlugin向Project中添加了许多Task,这些Task依次执行,为我们营造了一种如同Maven般项目构建周期。


温馨提示:答案为网友推荐,仅供参考