4.Maven仓库
1. 何为Maven仓库
Maven仓库就是统一存放所有依赖的地方,其他所有项目都可以在仓库里通过坐标找到所需要的依赖。
2. 仓库的布局
任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven仓库布局方式。例如,log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar。该路径与坐标的大致对应关系为groupId/artifactId/version/artifactId-version.packaging。
3.仓库的分类
对Maven来说,仓库只分为两类:本地仓库和远程仓库。当Maven根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在此构建,则直接使用。如果不存在,Maven就会去远程仓库查找,发现需要的构建之后,下载到本地仓库使用。
3.1 本地仓库
一般情况下,无论是在Windows还是Linux,Maven本地仓库的地址是在用户目录下的.m2/repository里。
其中在.m2文件夹中有一个setting.xml配置文件,通过这个文件可以改变一些仓库的设置。默认情况下settings.xml文件并不存在,用户需要从Maven安装目录复制$M2_HOME/conf/settings.xml文件再进行编辑。
全局范围的配置文件
全局目录的settings.xml文件指的是$M2_HOME/conf/settings.xml文件,修改这个文件,整台机器上的所有用户都会直接受到影响。
用户范围的配置文件
而~/.m2/settings.xml文件是用户范围的,只有当前用户才会受到该配置的影响。建议修改~/.m2/settings.xml文件,避免自己的修改影响到系统中的其他用户。
改变本地仓库的目录地址
编辑settings.xml文件,设置localRepository元素为想要的仓库地址,如:
<settings>
<localRepository>D:\jva\repository\</localRepository>
</settings>
将构件安装到本地仓库
在某个项目中执行mvn clean install命令就可以将该项目安装到本地仓库。在命令行可以看到弹出提示:[INFO]Installing .... to .... ,这表示正在将构件安装到本地仓库。
3.2 远程仓库
安装好Maven之后,如果不执行任何Maven命令,本地仓库目录是不存在的。当用户输入第一条Maven命令之后,Maven才会创建本地仓库,并根据配置和需要,从远程仓库下载构建至本地仓库。
常用的远程仓库有:
Java.net Maven -> http://download.java.net/maven/2/
JBoss Maven -> http://repository.jboss.com/maven2/
3.3 中央仓库
中央仓库其实就是一个远程仓库,不同的是这个仓库是Maven官方提供的,专门为全世界的Java程序员提供服务。如果你下载Maven后没有修改settings.xml配置文件,那么你默认就会从这个中央仓库里下载构件。
3.4 私服
对于本地的Maven仓库来说,私服也可以算是一个远程的仓库,只不过这个仓库与本机处于同一个局域网下。通过私服可以更快地下载所需的构件,并且私服拥有的环境更加稳定。此外,也可以将一些公共的构件部署到私服上,提供给其他成员使用。
4.远程仓库的配置
4.Maven仓库的更多相关文章
- 转:aliyun阿里云Maven仓库地址——加速你的maven构建
maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...
- aliyun阿里云Maven仓库地址——加速你的maven构建
maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...
- maven仓库信息分析站点推荐
maven是java的一个依赖,打包管理的工具,稍微大一点的java项目都需要使用maven. 随着java的壮大,maven仓库越来越大,仓库中的jar包有60多万,各种group,各种构件,各种版 ...
- 国内好用的maven仓库,添加到本地nexus中
速度快的maven仓库真的难找,国外网站很多被封了.前天在网上找,有人说阿里有个公开的,速度很快.确实很快! 我添加到本地nexus中,结果不能更新索引,我是这么添加的,如下: 这个地址在浏览器中能够 ...
- Maven最佳实践:Maven仓库(转)
转自:http://juvenshun.iteye.com/blog/359256 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/li ...
- maven仓库使用
maven镜像仓库 1.国内maven镜像仓库 阿里云镜像 <mirrors> <mirror> <id>aliyun</id> <name> ...
- maven 仓库地址:
maven 仓库地址: 共有的仓库 http://repo1.maven.org/maven2/http://repository.jboss.com/maven2/ http://repositor ...
- 配置maven仓库
1.安装完,配置好环境变量 mvn -v 检查是否成功 mvn install 会将项目生成的构件安装到本地maven仓库 2.settings.xml文件配置: 1)修改本地仓库位置 maven_h ...
- 收集的maven 仓库地址(maven repository)
maven 仓库地址: 共有的仓库http://repo1.maven.org/maven2/http://repository.jboss.com/maven2/http://repository. ...
- maven仓库介绍《本地仓库、远程仓库》
在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件.Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方)任何的构件 ...
随机推荐
- 架设WIN32汇编程序的开发环境
笔者在学习Windows下的图形界面应用程序(GUI,Graphical User Interface)的时候碰到的第一个麻烦就是架设WIN32汇编程序的开发环境,在这里笔者愿意和大家分享这段经历. ...
- jQuery写选项卡
<!DOCTYPE html> <htmllang="en"> <head> <metacharset="UTF-8" ...
- 性能测试工具 - Apache JMeter (安装)
简介 Apache JMeter 是100%纯java语言开发的负载测试和性能测试开源工具. 功能 Apache JMeter可以对静态/动态资源进行性能测试,模拟多个用户并行请求资源端,以测试其强度 ...
- PHP中include()与require()的区别
require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...
- MAC本如何优雅的创建定时任务
在MACOS上设置定时任务大体有两种方案.一种是使用crontab,一种是使用Schedule,今天结合我的使用简单介绍一下. 先说一下背景,为什么MAC可以用crontab.如果使用过Linux的同 ...
- Python--校园网爬虫记
查成绩,算分数,每年的综合测评都是个固定的过程,作为软件开发者,这些过程当然可以交给代码去做,通过脚本进行网络请求获取数据,然后直接进行计算得到基础分直接填表就好了,查成绩再手动计算既容易出错也繁琐, ...
- JavaSE之认识java
本来很早之前就应该总结自己在JavaSE中系统学到的知识了,马上就要出去工作了,想想自己还是非常菜的菜鸟,自己就夜不能寐呀.现在从zero基础开始带大家一起回顾学习的基础知识. 现在已经是凌晨了,但是 ...
- JNDI常见配置方式
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- Python的字典dictionary
创建: dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};删除: del dict['Name']; # 删除键是'Name'的条目 dict.c ...
- Android Studio开发遇到程序崩溃问题
在用Android Studio开发过程中,经常遇到程序本身没有错误,但运行起来却总是挂掉,具体有如下几个解决方案: 1.将运行在真机上的app卸载,重新运行安装 2.在Build选项中有一个clea ...