(四)Maven中的仓库

一、分类

  • maven的仓库只有两大类:

    •   1.本地仓库

    • 2.远程仓库,在远程仓库中又分成了3种:

      •   2.1 中央仓库

      • 2.2 私服

      • 2.3 其它公共库

二、本地仓库

  • 本地仓库,顾名思义,就是Maven在本地存储构件的地方。
  • 注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建,maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置
  • 如何更改maven默认的本地仓库的位置,修改maven的settings.xml文件中的localRepository标签值。
    <settings>
        <localRepository>D:\maven_new_repository</localRepository>
    </settings>  

三、中央仓库

  • 中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置

  • 案例:修改默认中央仓库,即下载依赖包不再从默认的中央仓库中下载(虽然更新快但是下载速度慢),只需修改工程的pom.xml文件即可。

<!-- 修改中央仓库 -->
<repositories>
    <repository>
    <!-- 指定仓库唯一id -->
        <id>resp</id>
        <!-- 指定仓库名 -->
        <name>resp</name>
        <!-- 指定仓库地址 -->
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <!-- 设置仓库是否为默认仓库 -->
        <layout>default</layout>
        <!-- 设置是否可以从url对应的仓库中下载快照snapshots版本的依赖 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <!-- 设置是否可以从url对应的仓库中下载稳定releases版本的依赖 -->
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

<!-- 修改插件仓库 -->
<pluginRepositories>
    <pluginRepository>
        <id>pluginTest</id>
        <name>pluginTest</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </pluginRepository>
</pluginRepositories>
  • 此时下载依赖会在http://maven.aliyun.com/nexus/content/groups/public/和默认中央仓库两个仓库同时下载,如果想要禁止默认中央仓库下载,可以将自己设置的仓库的id设置为中央仓库的id即<id>central</id>
  • 缺点:只针对当前工程,新建工程还是从默认中央仓库下载。
  • 案例二:通过修改镜像,修改所有工程的默认中央仓库

    •   修改maven的setting.xml文件
    <mirror>
            <id>mirrorId</id>
            <name>aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>*</mirrorOf>
        </mirror>
  •   其中 <mirrorOf>*</mirrorOf> 指对所有工程的所有仓库进行映像,即所有工程所有仓库都会无效,下载依赖时从镜像的url仓库下载。如果配置<mirrorOf>central</mirrorOf>则任何从默认中央仓库下载的依赖都会转到镜像仓库下载。
时间: 2024-07-31 06:02:34

(四)Maven中的仓库的相关文章

maven中snapshot快照库和release发布库的区别和作用

在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的.如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组件的版本号,可这样就明显不符合要求和实际情况了.但是,如果是基于快照版本,那么问题就自热而然的解决了

Eclipse中Maven的本地仓库引导配置

简单整理一下,方便理解操作. 1.本地拷贝maven文件后,打开maven中的.setting 文件: 2.配置文件: 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!-- 4 Licensed to the Apache Software Foundation (ASF) under one 5 or more contributor license agreements. See the NOTIC

在Maven中设置Nexus私有服务为中央工厂

在Maven中设置Nexus私有服务为中央工厂(repository) 2015-12-12 17:45 168人阅读 评论(0) 收藏 举报  分类: Maven(17)  版权声明:本文为博主原创文章,未经博主允许不得转载. nexus中的仓库列表 第一种方式: <repositories>  <repository>  <id>nexus</id>  <name>nexus Repository</name>  <url&

myeclipse2014 安装maven3.3.9和maven配置本地仓库 及错误修改

结合网上的知识梳理以及自己安装的经验 myeclipse2014 安装maven3.3.9和maven配置本地仓库  及犯的错误修改  成功搞定maven 1,安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.jdk最好是1.6以上的,Maven是 Apache 下的一个项目,我用的是 3.3.9. 下载地址:http://maven.apache.org/download.html 2,把下载好的maven安装包,解压到D:\maven 3, 配置maven环境变量 系统变量:M

Maven之——Nexus仓库与仓库组

Maven之--Nexus仓库与仓库组 1.    Nexus的仓库与仓库组 Nexus包含多种仓库概念.包括主要的宿主仓库.代理仓库.仓库组等.不同仓库提供不同配置.服务. 代理仓库主要是提供下载缓存构件和插件.如果只是从远程仓库下载构件和插件.那么代理仓库完全足够.宿主仓库主要用于存放项目部署的构件.或者第三方构件用于提供下载. 2.    Nexus内置仓库 Nexus预先配置了一些仓库.如果符合我们使用要求的话.则可以直接使用.简化配置.使用admin/admin123登录.点击左侧导航

理解Maven中的SNAPSHOT版本和正式版本

Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId.artifactId以及version.这三个属性可以唯一确定一个组件(Jar包或者War包). 其实在Nexus仓库中,一个仓库一般分为public(Release)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本.如果在项目配置文件中(无论是build

Maven中的SNAPSHOT版本和正式版本理解

Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId.artifactId以及version.这三个属性可以唯一确定一个组件(Jar包或者War包). 其实在Nexus仓库中,一个仓库一般分为public(Release)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本.如果在项目配置文件中(无论是build

maven 中scope 的应用

maven 中scope 定义了这个包的应用范围,根据场景不同某些jar的应用也不同,scope 有5种类型: 以下内容是转帖复制: 一.compile:编译范围compile是默认的范围:如果没有提供一个范围,编译范围依赖在所有的classpath 中可用,同时它们也会被打包.而且这些dependency会传递到依赖的项目中. 二.provided:已提供范围provided 明了dependency 由JDK或者容器提供.例如如果开发了一个web 应用,可能在编译 classpath 中需要

Maven三种仓库的配置

1 本地仓库的配置 在第一篇中我们介绍过,Maven的仓库有三类,这里不再介绍. 1.要创建本地仓库我们需要有相应的jar包文件,本人经过长时间的寻找和积累,已经有了一个jar包仓库,现将此jar包提供给大家使用.下载地址:http://pan.baidu.com/s/1jH77z2Q. 2.将下载先来的仓库文件解压到你要存放的地方.文件解压后有1.13G大小,请合理选择存放地方.解压后目录如图: 3.配置Maven的本地仓库. 在Maven的安装目录下的conf目录下找到settings.xm