很早就知道了Maven是一个很好的项目管理工具,但是一直没怎么去好好的看看,正好这几天学习SSH框架整
合,由于各种jar包的下载和版本冲突出现很多的问题,因此也就准备好好学习学习这个项目管理利器。
在学习Maven之前,我们进行web项目的开发,不可避免的会碰到使用各个框架的来进行开发。假设我们使用
Struts2框架、Spring框架和HIbernate框架来进行项目的开发,那么接下来首先进行的就是各个框架的jar包的下
载,我们通常的做法是先到Struts2官网下载Struts2相关的jar包,
再到Spring官网下载Spring的相关jar包,
接下来就是到Hibernate官网下载Hibernate相关的jar包,
最后还有一些项目用到的第三方的jar包以及依赖的jar包。
项目还没有开始,我们新建的项目中的lib目录下就会有很多的jar包,有用的,没用的,各个版本冲突的,没有冲
突的,删除吧,不知哪些jar包有关联,不删除吧,项目臃肿的不行,因此开源世界的大神提供了Maven、Ant、
Gradle等项目管理与构建工具,这些工具让我们更为方便地管理和构建我们的项目。
Maven概述
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管
理工具。
Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven的缺省构建规则有较高的可重
用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。由于Maven的面向项目的方法,许多Apache
Jakarta 项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过
程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准
化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个
项目中共享JARs。
简单来说,Maven可以帮助我们更有效地来管理项目,它也是一套强大的自动化的构建工具,覆盖了编译、测
试、运行、清理、打包和部署整个项目构建周期。
它提供了一个仓库的概念,统一地帮我们来管理项目所依赖的第三方的jar包,最大可能地避免由于环境配置不
同,所产生的在你的电脑上能运行,在别人的电脑上不能运行的问题。
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生
命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期
阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你
的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven有一个生命周期,当你运行mvn install的时候被调用。这条命令告诉Maven执行一系列的有序的步骤,
直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven运行了许多默认的插件目标,这些目标完
成了像编译和创建一个 JAR 文件这样的工作。此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文
件,等等。
Maven环境搭建
第一步:首先要到Maven官网上下载Maven的安装包
第二步:将下载的zip文件解压
先来介绍apache-maven-3.3.9-bin目录下的文件:
bin目录:包含mvn的运行脚本;
boot目录:包含一个类加载器的框架,Maven使用它来加载自己的类库;
conf目录:配置文件目录;
lib目录:Maven的类库;
第三步:添加环境变量M2_HOME变量或MAVEN_HOME变量:E:\Java\develop\apache-maven-3.3.9-bin
第四步:在Path环境变量添加:%M2_HOME%\bin
第五步:验证Maven是否安装成功,打开DOS命令窗口,输入mvn -vserion或者mvn -v;
第六步:配置本地仓库
Maven最主要的功能就是管理项目的依赖。安装完Maven之后,使用maven管理项目依赖,需要配置本地仓
库,项目的各种依赖包将会统一管理在本地仓库中。
在Maven安装目录下的conf目录下找到setting.xml配置文件中,打开定位到以下节点:
localRepository节点是指本地仓库的含义,其值表示本地仓库所在的目录。该目录可以指定为本机的任意目录。
我是指定的E:/Java/develop/maven/m2/repository目录。
修改后的的配置文件变为:
进入本地仓库目录E:/Java/develop/maven/m2/,将上述setting.xml配置文件也复制一份。 注意:该目录下的
setting.xml中的配置是本机中所有的使用Maven管理的项目通用的配置。
依据该配置,Maven就会将下载的类库保存到E:/Java/develop/maven/m2/repository中。验证一下我们刚才做
的事情产生作用没有,控制台输入:mvn help:system,如图所示效果:
如果没有任何问题,执行完该命令之后,在本地仓库下面就会多出很多文件,这些文件就是Maven从中央仓库下
载到本地仓库的文件,Maven已经开始为我们工作了。
第九步:配置镜像
如果下载速度缓慢卡死或者没有成功,那么我们可以配置一个国内的镜像,比如阿里的,还是修改Maven安装目
录下的conf目录中的setting.xml配置文件,定位到mirrors节点:
修改后的配置文件是:
修改完成后,下载的速度相对来说会很快的。当然的话,也是可以不修改的,默认的从远程中央仓库下载jar包到
本地仓库中,供以后我们的项目使用。