Maven 介绍
什么是 Maven
Maven( /‘meɪv(ə)n/ )在意思上是专家,行家的意思。
一个对 Maven 的解释正式的定义是这样的:Maven 是一个项目管理工具,它包含的一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。
Maven 用来干嘛
用通俗易懂的方式说明,我们的项目不仅仅是写代码,还包含例如管理等的必不可少的事情要做,下面举例体会一下:
- 对于
java
我们需要引入各种 jar 包,特别是大的项目工程,引用 jar 包往往有十几个乃至上百个,每用到一种 jar 包,都需要手动引入工程目录,而且会遇到各种让人抓狂的 jar 包冲突,版本冲突。 - 我们的
java
文件,是需要编译成二进制文件,因为电脑只懂得0和1,这个工具和现在的集成开发工具很像(IDEA,Eclipse等),能帮我们完成即使编译,当然也可以通过记事本敲代码和javac
命令一个个去编译. - 我们的代码都是不完美的,没有不存在 bug 的代码。因此我们写完了一些代码,还需要一些单元测试代码。然后一个个的运行来检测代码的质量。
- 在后面的开发的过程,我们的代码还需要经历把代码和各种配置文件、资源文件整合一起,定性打包。如果是 web 项目,还有发布到服务器。
所以想象,如果有一种工具,能把上面的繁琐工作中解放出来,帮你构建工程,管理 jar 包,编译代码,还能帮助你自动运行单元测试,打包,生产报表,甚至帮你部署项目。生产 web 站点。那工作中不是很轻松?
Maven 的优势举例
我们传统的 web
程序,项目要运行得起来,就必须将该项目所依赖的JAR
包,添加到工程中,要是有相同架构的项目有十几个,那么这一份jar
包要同样复制到这是几个工程中,我们看一下一个crm
项目的大小。
传统的 web
项目构建的 crm
如下:
原因就是因为 web
项目要运行,我们要将 jar
包复制到工程目录下,从而导致工程很大。
同样的项目,我们使用 maven
工程来构建,会发现少很多,如图: