Maven入门指南:仓库
转载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入门指南:仓库相关推荐
- Maven入门指南⑦:Maven的生命周期和插件
Maven入门指南⑦:Maven的生命周期和插件 一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周 ...
- Maven入门指南(一)
原文链接 译文链接 译者:nkcoder 校对:方腾飞 Maven介绍: Maven是一个强大的Java项目构建工具.当然,你也可以使用其它工具来构建项目,但由于Maven是用Java开发的,因 ...
- Maven入门指南② :Maven 常用命令,手动创建第一个 Maven 项目
1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开pom.xml文件,添加如下内容: 1 <project xmlns="http://maven.a ...
- Maven入门指南① :Maven 快速入门及简单使用
原文链接:http://www.cnblogs.com/luotaoyeah/archive/2014/06/02/3764533.html 开发环境 MyEclipse 2014 JDK 1.8 M ...
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)
Java Gradle入门指南之依赖管理(添加依赖.仓库.版本冲突) 作者:@gzdaijie 本文为作者原创,转载请注明出处:http://www.cnblogs.com/gzdaijie/p/52 ...
- maven 入门介绍
Maven是什么? Maven: 中文翻译,"专家".基本上有两个用途 一是构建工具, 用来把源代码构建成可发布的构件.类似于ant; 另外一个是项目管理工具. 官方给出的定义是 ...
- java cookbook中文版_Java Client快速入门指南
适用于与Amazon S3兼容的云存储的Minio Java SDK Minio Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务. 本快速入门指南将向你 ...
- 【转】Maven 入门
[转]http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html Maven入门--概念与实例 最近由于工作原因在研究.应 ...
- Maven学习总结(一)——Maven入门
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家",&quo ...
最新文章
- log4j用法http://zengjinliang.javaeye.com/blog/171550
- java cookie的有效期_Java Web cookie的有效期
- jQuery 3教程(三):jQuery集合
- [BUUCTF-pwn]——ciscn_2019_s_3
- Js 模拟鼠标点击事件
- 微软开源基于.NET Core的量子开发工具包 QDK
- AlarmManager使用注意事项
- LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
- php5.4.45的php.ini文件
- Dubbo 新增本地 IDE 插件,快速创建样例工程
- cpu 保存模式的内存访问向下兼容原理
- appian php,aha2mao
- 【数据结构】BFS 代码模板
- mst多生成树优化及规范
- c++ 文件操作方式
- win98 支持html5,90后第一次接触Windows98,20多年了,居然还有人使用!
- c#mvc模式进行crud_实用的微服务开发模式:CRUD与。 CQRS
- B 吃雪糕(科林明伦杯)
- paddlepaddle测试安装_学习之路(1)PaddlePaddle的安装
- spring应用集成skywalking监控组件[附带log4j2集成]
热门文章
- jeesite中activiti中的流程表梳理
- 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
- [转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
- Swift - 操作表(UIActionSheel)的用法,也叫底部警告框
- Visual Studio 起始页中不显示最近使用的项目的解决办法
- ADO Entities Framework不对多表查询进行优化?
- 终于开源!基于Overlap的激光雷达全局定位算法!
- 学Python的初体验——模块简述
- 牛逼了 这 7 个 Python 入门实战项目,我打 99.99 分
- csv文件python是怎么输入的,python怎么读取和写入csv文件