一、Maven是什么
Maven是一个Apache公司的开源项目,是项目构建工具。用来管理依赖。
1、Maven的好处
使用maven可以在项目中不用导入项目依赖的jar包,省去了下载和导入jar包的过程,使项目的大小等到了缩减。
2、Maven好处如何实现
Maven通过一个仓库来存放jar包,在Maven项目中,不再需要导入这些jar包,只需要告诉项目所依赖的jar包的坐标,Maven就会自己将我们项目所需要的jar包给我们依赖进来。在maven中仓库有三种:
(1) 本地仓库:本地仓库就在自己的机器上,我们可以在自己的机器上创建一个maven仓库,然后就需要的jar包导入进去,就可以在项目中引用。
(2) 私服仓库:私服仓库在公司局域网内,公司可以在自己的局域网内创建一个仓库,将项目所需要的jar包存放在此仓库中,这样整个项目组就都可以使用此仓库提供的jar包,不再需要在自己本地创建仓库来保存jar包。
(3) 中央仓库:中央仓库是最大的一个仓库,由Apache组织来负责维护,几乎包括了现在所有的jar包(有一些涉及版权问题没有,比如:oracle数据库的连接jar包),但是中央仓库的访问速度非常慢。
3、Maven如何在仓库中查找jar包
Maven在仓库中查找jar包需要使用到jar的“坐标”信息,坐标信息由“公司名称+项目名称+版本信息”三部分构成。如小图所示
4、Maven的两大核心
(1) 依赖管理:对项目需要使用到的jar包进行管理。
(2) 项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署。
二、Maven的安装
1 安装前提
Maven是用Java开发的,所有在安装之前必须要安装Java jdk,并且进行Java环境变量的配置,必须要配置JAVA_HOME变量。
2 Maven的下载
Maven是Apache的一个开源项目,可以直接去Apache官网下载,下载apache-maven-3.5.0-bin.zip即可。下载地址:http://maven.apache.org/download.cgi。
3 Maven的安装
将下载下来的.zip压缩包进行解压,得到如下几个目录
(1) bin目录:该目录下主要存放的是一些可执行文件。
(2) boot目录:是Maven的引导文件(基本用不到)。
(3) conf目录:该目录存放Maven的配置文件。
(4) lib目录:该目录存放Maven运行所需要的jar包。
4 配置环境变量
(1) 配置MAVEN_HOME 系统变量:改变量名称必须为“MAVEN_HOME”,配置到Maven的根目录下,即bin目录的上一级目录下即可。
(2)配置path变量:path变量配置到bin目录即可。
5 测试是否安装成功
打开cmd,进入dos,然后输入命令"mvn -v",如果出现版本信息,则安装成功。
三、三种Mavne仓库的配置方式
1 本地仓库的配置
在第一篇中我们介绍过,Maven的仓库有三类,这里不再介绍。
1、要创建本地仓库我们需要有相应的jar包文件,本人经过长时间的寻找和积累,已经有了一个jar包仓库,现将此jar包提供给大家使用。下载地址:http://pan.baidu.com/s/1jH77z2Q。
2、将下载先来的仓库文件解压到你要存放的地方。文件解压后有1.13G大小,请合理选择存放地方。解压后目录如图:
3、配置Maven的本地仓库。
在Maven的安装目录下的conf目录下找到settings.xml文件,打开该文件,修改如下部分:
2私服仓库的配置
私服仓库的配置比较复杂。
1、 下载sonatype Nexus来搭建私服
我们可以自己去下载https://www.sonatype.com/download-oss-sonatype。下载如下文件。下载速度比较慢,这里提供一个自己的百度云盘下载链接,大家可以去网盘下载:http://pan.baidu.com/s/1gfcLFzl。
下载该文件后对该文件进行解压缩,进入D:\nexus-2.14.4-03-bundle\nexus-2.14.4-03\bin\jsw目录下可以看到很多文件夹,然后根据自己机器的操作系统选择相应的目录,本文以64位Windows操作系统为例。
2 安装nexus服务
运行该目录下的install-nexus.bat文件(右击以管理员身份运行),该窗口会一闪而过,然后运行start-nexus.bat文件,等该文件运行窗口关闭后,在浏览器访问http://127.0.0.1:8081/nexus/。就会看到该欢迎页面。
3、创建私服仓库
然后点击右上角的log in 进行登录,默认用户名:admin,密码:admin123。登陆后在右边选项卡 Views/Repositories下选择 Repositories就可以看到所有仓库,该地方不做过多的介绍,只介绍如何进行私服仓库配置。
选择上方的add按钮,然后选择hosted Repositiry创建一个本机仓库,填入仓库相应的信息即可创建成功。
4、配置私服信息
和本地仓库一样,私服仓库也需要在setting.xml中进行配置,这样才能够访问。
在setting.xml 文件中找到<profiles></profiles>标签,在其中插入如下代码,其中的id,name标签内的内容必须要和在nexus中创建仓库是所填的仓库ID和仓库名称一致,URL标签内的内容就是该仓库创建后后面显示的地址。
<profile><id>localRepository</id><repositories><repository><id>myRepository</id><name>myRepository</name><url>http://127.0.0.1:8081/nexus/content/repositories/myRepository/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile>
然后还必须要激活改配置,在setting.xml文件的<activeProfiles></activeProfiles>标签内插入如下代码段。
<activeProfile>localRepository</activeProfile>
配置分发构建到私服的验证,在setting.xml文件的<servers></servers>标签内插入如下代码段
<server><id>myRepo</id><username>admin</username><password>admin123</password></server>
至此私服仓库就配置成功了。
3 中央仓库的配置
配置中央仓库和配置私服仓库类似:
1、在setting.xml 文件中找到<profiles></profiles>标签,在其中插入如下代码,其中的id,name标签内的内容必须要和在nexus中创建仓库是所填的仓库ID和仓库名称一致,URL标签内的内容就是该仓库创建后后面显示的地址。
<profile><id>central</id><repositories><repository><id>Central</id><name>Central</name><url>http://repo1.maven.org/maven2/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile>
2、然后还必须要激活改配置,在setting.xml文件的<activeProfiles></activeProfiles>标签内插入如下代码段。
<activeProfile>central</activeProfile>
4 三个仓库之间的关系
三者之间的关系是,当我们在项目中依赖一个jar包时,Maven程序会先去本地仓库中找,如果没找到就回去私服找,如果还是没有,最后就回去中央仓库找。其过程如下图: