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. String 工具类

    package com.mytripod.util; import sun.rmi.runtime.Log; import java.io.UnsupportedEncodingException; ...

  2. Bootstrap 12 栅格系统

    栅格系统简介 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列.它包含了易于使用的预定义类,还有强大的mix ...

  3. [Python3网络爬虫开发实战] 1.9.6-Gerapy的安装

    Gerapy是一个Scrapy分布式管理模块,本节就来介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/Gerapy 2. pip安装 这里推荐使用pip安装 ...

  4. buf.slice()

    buf.slice([start[, end]]) start {Number} 默认:0 end {Number} 默认:buffer.length 返回:{Buffer} 返回一个指向相同原始内存 ...

  5. jQuery对table排序

    <script> //col对应列,cmp两数比较方法,返回值为TRUE,FALSE function sort(col, cmp) { var table = $("#test ...

  6. 关于 <customErrors> 标记的“mode”属性设置为“Off”的问题的解决方案

    用 权限问题 <customErrors> 标记的“mode”属性设置为“Off”. 权限问题标记的“mode”属性设置为“Off”.说明: 服务器上出现应用程序错误.此应用程序的当前自定 ...

  7. BNUOJ 26223 CosmoCraft

    CosmoCraft Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: ...

  8. hihoCoder#1069 最近公共祖先·三

    原题地址 根据提示用Spase Table做 将Tree先展成List,因为数组长度等于边数的2倍,树中边数等于节点数-1,所以List数组只要开2倍节点数大小即可 WA了几次,原来是查询的时候出现左 ...

  9. MT6753 使用nt35596s 由于液晶极化出现的闪屏问题解决思路

    咨询屏厂那边FAE , 若是液晶极化相关的问题,下面三种场景下比较容易复现现象,请协助在目前的故障机上做压力测试: 1.反复开关机(1000次), 2.按power键休眠和唤醒(1000次), 3.反 ...

  10. android framework navigationbar自定义

    需要实现的目标:在navigationbar上显示录像预览,并且点击按钮可以显示/隐藏NavigationBar 参考文章: http://blog.csdn.net/yanlai20/article ...