1.基本概念
1.1.什么是Maven
Maven项目对象模型(Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven提供了开发人员构建一个项目完整的生命周期框架。
开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。
1.2.Maven的主要功能
依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。
项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布…
项目的知识管理:管理项目相关的其他内容,比如开发者信息,版本等等
2.安装
2.1.maven的资源
官网:http://maven.apache.org/
教程:https://www.yiibai.com/maven/
2.2.安装步骤
2.2.1.下载解压
到官网下载指定的版本后,
将zip压缩文件解压到某个方便找到的位置
注意路径不要有中文
2.2.2.JDK环境变量
使用 Maven 需要 JDK的支持, 所以安装maven之前, 必须先确保你的机器中已经安装了JDK, 并配置了环境变量
如果是Maven3则必须JDK1.7以上
右击 此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量
在 系统变量
查找, 如果有 JAVA_HOME 或者 在Path 中是否配置 JDK的路径, 如果没有可以添加一个
变量值 要指向 JDK的安装路径
并且要将 JAVA_HOME 配置到Path变量中 %JAVA_HOME%\bin
2.2.3.Maven变量
再添加环境变量M2_HOME,值为Maven的安装路径( 解压路径 )
2.2.4.配置Path
在Path环境变量的变量值中 添加 %M2_HOME%\bin ,
注意不要超过 JAVA_HOME的位置 , 排序也不要太低
2.2.4.在cmd测试
打开指令界面( 在开始菜单中通过 运行 cmd )
输入
mvn -v
如果出现maven的版本信息,说明配置成功。
3.Maven的仓库
3.1.仓库分类
3.1.1.本地仓库
Maven主要功能之一, 就是帮助应用项目导入依赖jar.
原来要将jar文件导入到应用项目中, 是一个非常麻烦的过程
现在jar文件存放在本地仓库中, 如 : D://repository
应用项目只是通过pom.xml 文件说明依赖关系就可以, 实现了应用项目与jar文件的解耦
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
3.1.2.远程仓库
本地仓库的jar文件是从远程仓库下载的, 远程仓库又有三种:
中央仓库 : 是Maven提供的真正存放jar文件的服务器, 可以通过网络访问并下载, 如:
http://www.sonatype.org/nexus/
http://mvnrepository.com/
http://repo1.maven.org/maven2
**镜像仓库 : ** 一般是有好心的网站提供的,是对中央仓库进行复制, 通常使用这类仓库速度更快, 如:
阿里的 https://maven.aliyun.com/repository/public
**私服 : ** 是个别公司针对自己公司搭建内部使用的Maven服务器, 除了官方提供的jar文件, 还有公司内部的一些自己封装的jar文件
3.2.配置仓库地址
在 Maven 工具的 /conf文件夹下 Settings.xml 文件中 可以配置 仓库信息
3.2.1.本地仓库
配置本地仓库, 默认在用户的文件夹下, 可以修改成其它目录, 如: d:/repository
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>d:/repository</localRepository>
3.2.2.远程仓库
可以将默认修改成阿里云提供的镜像仓库
<!-- mirrors
| This is a list of mirrors to be used in downloading artifacts from remote repositories.
|
| It works like this: a POM may declare a repository to use in resolving certain artifacts.
| However, this repository may have problems with heavy traffic at times, so people have mirrored
| it to several places.
|
| That repository definition will have a unique id, so we can create a mirror reference for that
| repository, to be used as an alternate download site. The mirror site will be the preferred
| server for that repository.
|-->
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>