转载http://www.cnblogs.com/luotaoyeah/p/3785044.html

1 . 仓库简介

没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理。Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方便的引用构件。

maven是一种全新的项目构建方式,让我们的开发更加简单,高效。

Maven主要功能:

1.  依赖jar包,工程之间的依赖

2.  项目构建,实现项目的一步构建

3.  工程聚合、继承、依赖

Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制项目。

准备工作

Java开发环境(JDK)

maven下载地址: http://maven.apache.org/release-notes-all.html

安装

安装maven超级简单,总共分四步:

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

apache-maven-3.5.2-bin.zip是压缩包,解压到安装路径即可。

apache-maven-3.5.2-src.zip是maven源码。

为了您的方便,Maven以多种格式分发。只需选择一个现成的二进制发行归档文件并按照 安装说明进行操作。 如果您打算自己构建Maven,请使用源代码归档。

参考文档

2.配置环境变量:

M2_HOME = D:\maven\apache-maven-3.5.4

在path变量末尾加入“%M2_HOME%\bin;`”。

3.最后,验证是否安装成功

现在我们打开 cmd,输入:mvn –v

我想您一定会看到一些信息, 恭喜您,Maven 安装成功!

在使用 Maven 之前,我们必须要了解一下 Maven 到底是怎样管理 jar 包的,这就是 Maven 仓库要干的活了。

2 . 仓库的布局

 构件都有唯一的坐标,Maven 根据坐标管理构件的存储。如以下对 spring-orm-3.2.0 的存储:

文件路径对应了:groupId/artifactId/version/artifactId-version.packaging

3 . 仓库的分类

  Maven 仓库分为本地仓库和远程仓库,寻找构件时,首先从本地仓库找,找不到则到远程仓库找,再找不到就报错;在远程仓库中找到了,就下载到本地仓库再使用。中央仓库是 Maven 核心自带的远程仓库,默认地址:http://repo1.maven.org/maven2。除了中央仓库,还有其它很多公共的远程仓库。私服是架设在本机或局域网中的一种特殊的远程仓库,通过私服可以方便的管理其它所有的外部远程仓库。

3 . 1 . 本地仓库

  Maven 本地仓库默认地址为:${user.home}/.m2/repository。

  通过修改 %MAVEN_HOME%/conf/settings.xml (或者:${user.home}/.m2/settings.xml,针对当前用户(推荐))配置文件可以更改本地仓库的位置。

3 . 2 . 中央仓库

  安装完 Maven ,本地仓库几乎是空的,这时需要从远程仓库下载所需构件。Maven 配置了一个默认的远程仓库,即中央仓库,找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打开 org/apache/maven/model/pom-4.0.0.xml 超级POM:

1

3 . 3 . 在项目中添加其他远程仓库

  当中央仓库找不到所需的构件时,我们可以配置 pom.xml ,添加其它的远程仓库。

<repositories><repository><id>Sonatype</id><name>Sonatype Repository</name><url>http://repository.sonatype.org/content/groups/public/</url><layout>default</layout><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>

其中 id 必须唯一,若不唯一,如设置为 central 将覆盖中央仓库的配置。

3 . 4 . 镜像仓库

  镜像仓库可以理解为仓库的副本,从仓库中可以找到的构件,从镜像仓库中也可以找到。比如针对中央仓库 http://repo1.maven.org/maven2 ,在中国有它的镜像仓库,这样我们直接访问镜像仓库,更快更稳定。

  <mirrors><!--阿里云镜像仓库 --><mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror> </mirrors>

其中,<mirrorOf> 指明了为哪个仓库配置镜像,可以使用通配符如:<mirrorOf>*</mirrorOf>,或者 <mirrorOf>repo1,repo2</mirrorOf> 等进行匹配。一旦配置了镜像,所有针对原仓库的访问将转到镜像仓库的访问,原仓库将不再能直接访问,即使镜像仓库不稳定或停用。在搭建私服的时候,我们通常为所有仓库设置镜像为私服地址,通过私服对所有仓库进行统一管理。

3 . 5 . 常用的仓库搜索地址

http://search.maven.org/

https://repository.sonatype.org/

http://mvnrepository.com/

Maven入门指南:仓库相关推荐

  1. Maven入门指南⑦:Maven的生命周期和插件

    Maven入门指南⑦:Maven的生命周期和插件 一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周 ...

  2. Maven入门指南(一)

    原文链接  译文链接  译者:nkcoder  校对:方腾飞 Maven介绍: Maven是一个强大的Java项目构建工具.当然,你也可以使用其它工具来构建项目,但由于Maven是用Java开发的,因 ...

  3. Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目

    1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开pom.xml文件,添加如下内容: 1 <project xmlns="http://maven.a ...

  4. Maven入门指南① :Maven 快速入门及简单使用

    原文链接:http://www.cnblogs.com/luotaoyeah/archive/2014/06/02/3764533.html 开发环境 MyEclipse 2014 JDK 1.8 M ...

  5. Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)

    Java Gradle入门指南之依赖管理(添加依赖.仓库.版本冲突) 作者:@gzdaijie 本文为作者原创,转载请注明出处:http://www.cnblogs.com/gzdaijie/p/52 ...

  6. maven 入门介绍

    Maven是什么? Maven: 中文翻译,"专家".基本上有两个用途 一是构建工具,  用来把源代码构建成可发布的构件.类似于ant; 另外一个是项目管理工具. 官方给出的定义是 ...

  7. java cookbook中文版_Java Client快速入门指南

    适用于与Amazon S3兼容的云存储的Minio Java SDK Minio Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务. 本快速入门指南将向你 ...

  8. 【转】Maven 入门

    [转]http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html Maven入门--概念与实例  最近由于工作原因在研究.应 ...

  9. Maven学习总结(一)——Maven入门

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家",&quo ...

最新文章

  1. log4j用法http://zengjinliang.javaeye.com/blog/171550
  2. java cookie的有效期_Java Web cookie的有效期
  3. jQuery 3教程(三):jQuery集合
  4. [BUUCTF-pwn]——ciscn_2019_s_3
  5. Js 模拟鼠标点击事件
  6. 微软开源基于.NET Core的量子开发工具包 QDK
  7. AlarmManager使用注意事项
  8. LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
  9. php5.4.45的php.ini文件
  10. Dubbo 新增本地 IDE 插件,快速创建样例工程
  11. cpu 保存模式的内存访问向下兼容原理
  12. appian php,aha2mao
  13. 【数据结构】BFS 代码模板
  14. mst多生成树优化及规范
  15. c++ 文件操作方式
  16. win98 支持html5,90后第一次接触Windows98,20多年了,居然还有人使用!
  17. c#mvc模式进行crud_实用的微服务开发模式:CRUD与。 CQRS
  18. B 吃雪糕(科林明伦杯)
  19. paddlepaddle测试安装_学习之路(1)PaddlePaddle的安装
  20. spring应用集成skywalking监控组件[附带log4j2集成]

热门文章

  1. jeesite中activiti中的流程表梳理
  2. 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
  3. [转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
  4. Swift - 操作表(UIActionSheel)的用法,也叫底部警告框
  5. Visual Studio 起始页中不显示最近使用的项目的解决办法
  6. ADO Entities Framework不对多表查询进行优化?
  7. 终于开源!基于Overlap的激光雷达全局定位算法!
  8. 学Python的初体验——模块简述
  9. 牛逼了 这 7 个 Python 入门实战项目,我打 99.99 分
  10. csv文件python是怎么输入的,python怎么读取和写入csv文件