- Maven是一个项目管理工具,基于项目对象模型(POM),它主张遵循
"约定优于配置"
这个思想 - 本地仓库(localRepository)
Maven默认的本地的仓库目录是~/.m2/repository/
,可以更改本地仓库的位置,只要修改settings.xml文件中的localRepository属性就可以 - 配置文件
Maven的安装目录下,conf/ 目录包含了一个全局的 settings.xml文件,该文件包含了用户相关的认证,仓库和其它信息的配置,用来自定义 Maven 的行为。 - Pom文件
最基础文件,该文件中定义了项目的坐标,以及项目所需依赖关系和插件行为。一个Maven坐标可以用来唯一标识一个项目,一个依赖,或者Maven POM 里的一个插件,坐标由groupId, artifactId, version 和 packaging组成 -
Maven主要做的是两件事:
- 统一开发规范与工具
- 统一管理jar包
Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等
-
环境
- Java开发环境(JDK)
- maven下载地址:http://maven.apache.org/release-notes-all.html
xxx-src.zip 表示源代码
-
安装
-
下载 Maven 其实就是一个压缩包,解压一下
-
配置一下环境变量
MAVEN_HOME = D:\maven\apache-maven-3.2.3
MAVEN_OPTS = -Xms128m -Xmx512m
(可选) -
在path变量末尾加入
Maven配置路径.png;%MAVEN_HOME%\bin;
(前面注意分号)
以上M2_HOME 是必须要配置的,如果想让 Maven 跑得更快点,可以根据自己的情况来设置 MAVEN_OPTS。
-
验证是否安装成功,打开 cmd,输入:
Maven安装成功.pngecho %MAVEN_HOME%
或者mvn -v
或mvn -version
-
- Maven仓库
使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,这些 jar 包存放在您的 本地仓库 中,默认地址位于 C:\Users\用户名.m2
目录下。
开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。
远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。
-
修改 maven 本地仓库位置:
找到maven 下的conf
下的settings.xml
配置文件
然后把本地相应的路径值写到里面去就行了:
本地仓库路径.gif
<!--Maven就会将下载的类库保存到D:\maven\repository中。-->
<localRepository>D:\maven\repository</localRepository>
验证配置是否成功,控制台输入:mvn help:system
该命令会打印出所有的java系统属性和环境变量。这些信息对我们日常的编程工作很有帮
如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。
- 修改Maven仓库地址
maven仓库用过的人都知道,国内有多么的悲催。还好有比较好用的镜像可以使用。
在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror
<mirrors>
<!-- 把镜像地址改成阿里云maven私服 -->
<!--默认是从maven官方仓库下载的,添加下面这段代码可以改为阿里云私服,速度能快一点-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
配置完毕!
- 参考
<!--MAVEN国内代理-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>maven.net.cn</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
网友评论