MAVEN简介
Maven 是一个项目管理和综合工具。Maven 提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven 使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven 可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven 让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。
概括地说,Maven 简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven 增加可重用性并负责建立相关的任务。有了maven你的工作就简单了.
MAVEN的下载和安装
JDK环境
MAVEN的下载 访问maven的官网download页面:
HYPERLINK "https://maven.apache.org/download.cgi"https://maven.apache.org/download.cgi
选择zip包下载
MAVEN环境配置
解压下载的MAVEN安装包
解压软件放到没有空格没有中文路径的文件夹中
其中maven的目录文件夹作用
○ bin: 和java中的bin目录类似,包含该软件运行的命令。
○ boot: plexus-classworlds-2.x.jar,是一个类加载器框架,相当于默认的java类加载器。maven使用该框架加载自己的类库。
○ conf: conf目录下有最重要的配置文件settings.xml,这是maven中最重要的配置文件
○ lib: lib目录包含maven运行时所需要的所有的java类库
MAVEN_HOME配置
在环境变量中添加变量MAVEN_HOME
PATH指向maven的bin
在path变量中添加maven的根目录中的bin目录,使得maven命令可以全局使用
验证MAVEN的环境是否生效
直接在cmd命令窗口输入命令: mvn -version检查返回内容
MAVEN仓库(repository)
在maven中存在一个仓库的概念,既然是仓库就应该保管了很多"东西".在我们使maven管理项目,搭建项目的时候,就在使用仓库里的"东西". 比如:我们创建一个java工程要测试spring框架的代码,这时候我们使用的spring的jar包,就是maven通过仓库交给我们使用的.
除jar包作为仓库的资源以外,我们自己开发的项目也可以放到仓库,还包括各种插件等,都是在仓库中的 “东西”,我们可以称他们为仓库中的资源.maven的仓库可以分为远程库和本地库两种
远程库
所谓的远程库就是你开发maven项目需要连接的一个远程服务器,里面提供了你开发项目需要用到的所有资源供你使用.
上图中的含义就是,你的PC开发时可以连接远程服务器,而远程服务器有很多jar包,我们都可以获取使用
中央库
maven社区提供了一个全球范围都可以使用的远程仓库,对于我们普通开发者来说这样的中央库不能进行上传发布项目和修改资源,只能从里面读取你需要的资源使用.
远程私服
对于企业中独有的资源我们可以搭建自己的远程私服,比如nexus就是一种常用作为maven企业私服的远程库软件来使用的.在远程私服中即可以保存自己的资源给自己公司开发使用,也可以作为代理让maven终端访问中央库,一举两得.
总之,有了远程库,我们开发过程需要的各种资源,可以看成现成拥有的,不必在考虑如何到官网,社区提前下载这些内容,咱们可以随用随取非常方便.
本地库
对于远程库我们了解了之后,是否每次使用maven来开发项目都需要通过网络获取远程库的资源呢?答案是否定的,因为maven也给我们提供了一个本地库,只要第一次我们连接远程库下载的所有资源,都会保存在本地库,这样方便资源的复用,也不需要占用更多的网络带宽.
本地库默认路径
如果我们没有配置settings.xml文件,使用maven的默认本地库配置,在windows中会将我们maven项目中使用的所有资源下载到C:/用户/用户名/.m2/repository中
自定义本地库
如果我们习惯使用自己的路径来存储远程下载的maven资源,可以通过修改settings.xml的标签来决定我们的maven本地库到底在哪里.
打开maven根目录中conf下的settings.xml,找到55行,通过标签localRepository的值来定义.