首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Maven实战之旅第一篇——maven简介

Maven实战之旅第一篇——maven简介

Maven是什么?

Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。它是apach组织开发的一款开源的跨平台的项目管理工具,主要服务于基于java平台的项目构建,依赖管理和项目信息管理。

为什么需要maven?

1.maven能帮助我们更好的构建项目 不管你是否意识到,构建(build)是每一位程序员每天都在做的工作。仔细总结一下,我们会发现,除了编写源代码,我们每天相当一部分时间都花在了编译,运行单元测试,生成文档,打包和部署等繁琐且不起眼的工作上,这就是构建。如果我们现在还在手工这样做,那成本也太高了,于是有人用软件的方法让一系列工作完全自动化,使得软件的构建可以像全自动流水线一样,只需要一条简单的命令,所有的繁琐的工作都能够自动完成,很快得到最终的结果。

Maven就是这么一款软件,它有非常强大的构建功能。能够帮我们自动化构建过程,从清理,编译,测试到生成报告,再到打包和部署。这个过程我们不需要一遍又一遍的输入命令,一次次点击鼠标,我们只需要使用maven配置好项目。然后输入简单的命令。Maven会自动帮我们处理好那些繁琐的任务。

我们不得不承认IDE确实能够大大提高我们的开发效率,但是它们也有天生的缺陷: 1)IDE需要大量的手工操作。编译,测试,代码生成等工作都是相互独立的,很难一键完成所有的操作。手工操作往往意味着低效,很容易出错。 2)很难在项目中同意所有的IDE配置,每个人都有自己的喜好。也正是由于这个原因,一个在机器A上可以成功运行的项目,在机器B上可能就会失败。

而maven 是编译,测试等构建过程的专家,几乎所有的IDE都集成了maven。我们可以在IDE中方便的使用maven执行构建。

2.Maven能够帮助我们有效的管理项目中的依赖 在这个开源的年代里,几乎任何的java都会借用一些第三方的开源类库,这些类库都可通过依赖的方式引入到项目中来,随着依赖的增多,版本的不一致,版本的臃肿问题都会接踵而至。手工解决这些问题是十分枯燥的,幸运的是maven提供了一个优秀的解决方案。Maven为全世界的java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的开源类库。系统给其中的每一个类库准确的说是构件(artifact)提供了一个坐标。通过这组坐标maven可以找到任何的java类库(如jar文件)。Maven给这个类库世界引入了经纬,让他们变得有秩序,于是我们可以借助它有序的管理依赖,轻松地解决那些繁杂的依赖问题。

举个例子:没有maven之前,我们的项目需要依赖某一个jar包,比如说是hibernate-core.jar包,我们可能会通过一些渠道下载到这些相关的jar包,然后将这些项目引入到我们的项目中。但是有了maven之后,我们只需要在中央仓库(maven repository)中输入Hibernate-core。找到我们需要版本的jar包,然后将其中的代码考下来,配置到我们的pom.xml文件中,更新maven依赖即可解决我们的项目依赖问题。

3.maven还能帮助我们管理原本分散在项目中各个角落的项目信息,包括项目描述,开发者列表,版本控制系统地址,许可证,缺陷管理系统地址等等。这些微小的变化看起来很琐碎,并不起眼,但却在不知不觉中为我们节省了大量的寻找信息的时间。除了直接的项目信息,通过maven自动生成站点,以及一些已有的插件,我们还能轻松的获得项目文档,测试报告,静态分析报告,源码版本日志报告等非常具有价值的项目信息。

下一篇
举报
领券