Maven 安装和配置

  • Maven是一个项目管理工具,基于项目对象模型(POM),它主张遵循 "约定优于配置"这个思想
  • 本地仓库(localRepository)
    Maven默认的本地的仓库目录是~/.m2/repository/,可以更改本地仓库的位置,只要修改settings.xml文件中的localRepository属性就可以
  • 配置文件
    Maven的安装目录下,conf/ 目录包含了一个全局的 settings.xml文件,该文件包含了用户相关的认证,仓库和其它信息的配置,用来自定义 Maven 的行为。
  • Pom文件
    最基础文件,该文件中定义了项目的坐标,以及项目所需依赖关系和插件行为。一个Maven坐标可以用来唯一标识一个项目,一个依赖,或者Maven POM 里的一个插件,坐标由groupId, artifactId, version 和 packaging组成
  • Maven主要做的是两件事:
    1. 统一开发规范与工具
    2. 统一管理jar包

Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等


  • 环境

  • 安装

    1. 下载 Maven 其实就是一个压缩包,解压一下

    2. 配置一下环境变量
      MAVEN_HOME = D:\maven\apache-maven-3.2.3
      MAVEN_OPTS = -Xms128m -Xmx512m(可选)

    3. 在path变量末尾加入;%MAVEN_HOME%\bin;(前面注意分号)
      以上M2_HOME 是必须要配置的,如果想让 Maven 跑得更快点,可以根据自己的情况来设置 MAVEN_OPTS。

      Maven配置路径.png

    4. 验证是否安装成功,打开 cmd,输入:echo %MAVEN_HOME% 或者 mvn -vmvn -version

      Maven安装成功.png


  • Maven仓库

使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,这些 jar 包存放在您的 本地仓库 中,默认地址位于 C:\Users\用户名.m2 目录下。
开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。

远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。

中央仓库和本地仓库关系图.jpeg

  • 修改 maven 本地仓库位置:
    找到maven 下的 conf 下的 settings.xml配置文件
    然后把本地相应的路径值写到里面去就行了:
    本地仓库路径.gif
<!--Maven就会将下载的类库保存到D:\maven\repository中。-->
<localRepository>D:\maven\repository</localRepository>

验证配置是否成功,控制台输入:mvn help:system

验证本地仓库配置是否成功.jpeg

该命令会打印出所有的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>

阿里云镜像

推荐阅读更多精彩内容