Maven 是一种全新的项目构建方式,基于项目对象模型(POM,Project Object Model)的思想,Maven 可以管理项目的整个生命周期,包括编译、构建(build)、测试、发布以及报告(report)等。Maven 主要的使命在于以下两点:

  • 统一管理 jar 包;
  • 统一开发规范和工具;

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model,POM),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

对于初学者在安装配置好 maven 之后,发现目录下不存在 .m2文件夹,其原因是因为没有执行任何 maven 相关的命令,之后执行之后 maven 才会自动去创建 .m2 文件夹。

.m2 所在的路径:

  • for windows: C:\Users\Administrator>
  • for Linux :/root

maven本地仓库.m2文件夹路径讲解

0. Maven 仓库

Maven 的一大用处便在于能够统一管理 jar 包,这些 jar 包存放在本地仓库中,我们可以将本地仓库理解为“缓存”。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。本地仓库便会随着项目的积累越来越大。

项目、本地仓库与远程仓库的关系如下:

1. 安装

  • 首先安装 jdk;
  • 下载 maven(选择编译好的二进制 zip 文件,以 -bin.zip 结尾),并解压(比如解压到 D 盘 maven 文件夹下);
  • 配置环境变量,
    • MAVEN_HOME = D:\maven\apache-maven-3.5.0
    • Path 变量后添加:%MAVEN_HOME%\bin
  • cmd 验证(是否识别 mvn 命令)
    • 打开 cmd,输入:mvn -v(mvn -version)

2. 简单配置

打开 %MAVEN_HOME%\conf下的 settings.xml 文件,会看到此配置文件中,有一条注释掉的配置项:

  <!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->

也即默认本地仓库的位置在C:\Users\用户名\.m2路径下,我们通过配置该属性,以将本地仓库安装在指定的位置。

<localRepository>D:\maven\repository</localRepository>

紧接着在 cmd 控制台输入:

C:\Users\hasee>mvn help:system

如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库(远程仓库)下载到本地仓库的文件,maven已经开始为我们工作了。

3. settings.xml 配置远程公共仓库

Maven 项目默认从国外的中央仓库下载,速度很慢,我们在 settings.xml 中配置如下属性,使用国内的 oschina Maven 公共仓库,下载依赖构件包速度很快:

<mirrors>
<mirror>
<id>localMaven</id>
<mirrorOf>*</mirrorOf>
<name>MyMaven</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
</mirrors>

references

Maven 项目管理 —— 安装与配置的更多相关文章

  1. Maven的安装、配置及使用入门

    Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与 ...

  2. 1.Maven的安装及配置

    1 Maven 介绍 Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”.本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个颇为成功的开源项目,Maven ...

  3. Maven(1)-安装和配置

    Maven(1)-安装和配置 一.本机必须安装好Jdk 二 .maven下载 http://maven.apache.org/download.cgi ,下载后把maven-bin解压到自己的目录即可 ...

  4. 一.Maven的安装和配置整理

    Maven的安装和配置 1.1安装                 进入Maven官网的下载页面:http://maven.apache.org/download.cgi选择当前最新版本:" ...

  5. Maven的安装、配置及使用入门+maven安装报错:JAVA_HOME【申明:来源于网络】

    Maven的安装.配置及使用入门+maven安装报错:JAVA_HOME[申明:来源于网络] Maven的安装.配置及使用入门:http://www.cnblogs.com/dcba1112/arch ...

  6. 【工具学习】——Maven的安装与配置

    [含义] 什么是构建? 构建,英文build.构建包括编译.运行.生成文档.打包.部署等等工作内容,如果我们每天手工去干这些事情,那会浪费很多的时间.因此,构建管理工具应运而生. maven,作为项目 ...

  7. linux ---maven的安装和配置

    linux下的maven的安装和配置:本人使用的是apache-maven-3.3.9-bin.tar.gz------安装maven的前提是JDK安装成功:java -version 测试一下--J ...

  8. Maven的安装与配置(eclipse,idea)

    Maven的安装与配置   一.需要准备的东西 1. JDK 2. Maven程序包 3. Eclipse 4. Idea 二.下载与安装 1. 前往https://maven.apache.org/ ...

  9. Java·Maven的安装与配置

    阅文时长 | 0.58分钟 字数统计 | 937.6字符 主要内容 | 1.引言&背景 2.Maven的下载与安装 3.Maven全局配置 4.Settings.xml文件的配置 5.远程仓库 ...

随机推荐

  1. MYSQL每日一学 - 时间间隔表达式

    参考链接:https://dev.mysql.com/doc/refman/5.7/en/expressions.html Interval表达式(Temporal intervals)的使用 Int ...

  2. ssm 使用中的一些问题

    1.问题:[org.mybatis.spring.SqlSessionUtils] - Creating a new SqlSession [org.mybatis.spring.SqlSession ...

  3. Linux命令学习(4):gzip压缩与解压

    版权声明:本文为博主原创文章,未经允许不得转载 引子 gzip是Linux系统中最常用也是高效的压缩压缩命令.早期Linux系统中主要使用compress命令压缩,得到后缀为“.Z”的压缩文件,但是后 ...

  4. assert.throws()函数详解

    assert.throws(block[, error][, message]) Node.js FS模块方法速查 期望 block 函数抛出一个错误. 如果指定 error,它可以是一个构造函数.正 ...

  5. C#NumberFormatInfo类

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0sAAAD2CAIAAACImosXAAAgAElEQVR4nOy9V3Nk13X+vTt3owPSJJ ...

  6. NYOJ-770仿射密码,乘数密码与移位密码的结合;

    仿射密码 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 ->   Link   <- 和乘数密码差不多: 加密算法:Ek(m)=(k1*m+k2)%q;gcd(k ...

  7. CodeForces - 425E Sereja and Sets 题解

    题目大意: 我们有一个集合 S,其中包含了 m 个不完全相同的区间[l1,r1],[l2,r2]…[lm,rm] (1≤li≤ri≤n,li,ri 都为整数). 定义 f(S)=k,表示集合 S 中能 ...

  8. Free Goodies UVA - 12260

    Petra and Jan have just received a box full of free goodies, and want to divide the goodies between ...

  9. [bzoj3910]火车_并查集_倍增LCA

    火车 bzoj-3910 题目大意:给定一棵n个节点的树,你需要顺次经过m个互不相同的节点,如果一个节点在之前的路径上被经过过,它不必再被特意经过.问走过的路径长度. 注释:$1\le n\le 5\ ...

  10. AtCoder Grand Contest 012 D Colorful Balls

    题意: 有N个球排成一行,第i个球颜色为ci, 权为wi, 如果两个同色球权值和 <= X 则它们可以交换: 如果两个异色球权值和 <= Y 则它们可以交换:不限制交换次数,求能到达的颜色 ...