1、Maven的介绍
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,
所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
2、为什么要使用Maven
创建一个项目需要依赖很多的jar包,而人为的去管理jar包,会产生很多的问题。
2.1 人为管理jar包的缺陷
(1)在一些大型项目中会使用一些框架,比如SSM或者SSH框架,而框架中所包含的jar包非常多(甚至还依赖其他第三方的jar包),如果这些jar包我们手动去网上寻找,有些jar包不容易找到,比较麻烦。
(2)传统方式会将jar包添加到工程中,比如Java工程中将jar包放在工程根目录或者放在自建的lib目录下;JavaWeb工程会将jar包放在:/WEB-INF/lib目录下,这样会导致项目文件的体积暴增(例如,有些项目代码本身体积可能仅仅几兆,而加入jar包后,工程的体积可能会达到几十兆甚至百兆)。
(3)在传统的Java项目中是将所有的jar包统一拷贝的同一目录中,可能会存在jar包文件名称冲突的问题!
(4)在进行项目整合时,可能会出现jar包版本冲突的问题。
(5)在传统java项目中通过编译(手动编译或者在eclipse保存自动编译)、测试(手动在main函数中测试、junit单元测试)、打包部署(手动打war包/手动发布)、运行(手动启动tomcat运行),最终访问程序。
2.2、Maven管理jar包的好处
(1)Maven团队维护了一个非常全的Maven仓库(中央仓库),其中几乎包含了所有的jar包,使用Maven创建的工程可以自动到Maven仓库中下载jar包,方便且不易出错。
另外, 在Maven构建的项目中,如果要使用到一些框架,我们只需要引入框架的核心jar包,框架所依赖的其他第三方jar包,Maven也会一并去下载。
(2)在Maven构建的项目中,不会将项目所依赖的jar包拷贝到每一个项目中,而是将jar包统一放在仓库中管理,在项目中只需要引入jar包的位置(坐标)即可。这样实现了jar包的复用。
(3)Maven采用坐标来管理仓库中的jar包,其中的目录结构为【公司名称+项目/产品名称+版本号】,可以根据坐标定位到具体的jar包。即使使用不同公司中同名的jar包,坐标不同(目录结构不同),文件名也不会冲突。
(4)Maven构建的项目中,通过pom文件对项目中所依赖的jar包及版本进行统一管理,可避免版本冲突。
(5)在Maven项目中,通过一个命令或者一键就可以实现项目的编译(mvn complie)、测试(mvn test)、打包部署(mvn deploy)、运行(mvn install)等。
还有发布到tomcat服务器中运行: mvn tomcat7:run。如果想实现上面的所有过程,只需要记住一个命令:mvn install
3、Maven的安装
3.1、软件的下载
官方下载地址:
http://maven.apache.org
3.2、解压安装包
此处,安装路径不要有中文名字和空格
4、Maven的配置
4.1、配置本地仓库的位置
本地仓库:计算机磁盘上的一个文件夹,里面包含你下载的所有的jar文件
默认地址:C:\Users\{当前用户}\.m2\repository
修改方法如下:
找到这个路径并打开settings.xml文件
找到该位置配置自己想要的本地仓库的路径
4.2、配置镜像服务器
因为Maven的中央仓库位于国外,所以在下载我们所需求的jar包时速度会比较缓慢,未解决这个问题,我们需要配置镜像仓库,此处我们使用**阿里**的镜像仓库,配置方法也是打开settings.xml文件
我的理解是:镜像仓库就是个URL,需要使用外网去访问并下载,所以此处不要使用手机热点,jar包容易下载失败
4.3、配置JDK版本
默认是1.5的版本,我使用的是jdk1.8,更改方法:打开settings.xml文件
4.4、讲Maven配置在我们的编程软件
我使用的软件是STS(Eclipse方法一样)
4.5、检查是否成功
软件中的:window—> show view —> other中搜索 “maven”,点击下面的选框中的选项
在弹出的窗口中,查看自己配置的本地仓库和远程仓库镜像:
5、创建项目
项目创建完成
5.1、依赖添加
5.1.1、第一种方法
如果项目需要使用什么依赖,将所需依赖的坐标添加即可
如果有报错现象,如此处理即可:
如果不知道依赖的坐标,查询地址:http://mvnrepository.com
5.1.2、第二种方法
需要本地仓库下载过该jar包文件才可以,因为搜索的是本地仓库
1)、项目中的pom.xml文件中空白处右键–> Maven --> Add Dependency在弹出的窗口中添加所需要的依赖(jar包),如图:
2)、在弹出的窗口中输入 “spring”:
3)、如果搜索不到jar包(保证本地仓库中已经下载了该jar包),可以尝试重建索引。
在"Local Repositories"上右键选择 “Rebuild Index” 即可重建索引。
完成后,再尝试搜索jar包进行添加。