转载自:http://blog.csdn.net/wanghantong/article/details/36427433

Maven 仓库的分类:

maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库

maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置

如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中

1.1 更改配置用户范围的本地仓库:先在/.m2/目录下创建settings.xml文件,然后在~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址

[html] view plain copy

 
  1. <settings>
  2. <localRepository>D:\maven_new_repository</localRepository>
  3. </settings>

这时候,maven的本地仓库地址就变成了 D:\maven_new_repository ,注:此时配置的maven的本地仓库是属于用户范围的。

1.2 更改配置全局范围的本地仓库:在M2_HOME/conf/settings.xml中更改配置,更改配置的方法同上

注:此时更改后,所有的用户都会受到影响,而且如果maven进行升级,那么所有的配置都会被清除,所以要提前复制和备份M2_HOME/conf/settings.xml文件

故:一般情况下不推荐配置全局的settings.xml

2、远程仓库

所有的maven项目都会超级pom 包含了如下配置的pom就成为超级pom

  1. <repositories>
  2. <repository>
  3. <id>central</id>
  4. <name>Central Repository</name>
  5. <url>http://repo.maven.apache.org/maven2</url>
  6. <layout>default</layout>
  7. <snapshots>
  8. <enabled>false</enabled>
  9. </snapshots>
  10. </repository>
  11. </repositories>

2.2私服

私服是一种特殊的远程仓库 是假设在局域网上的 当maven需要下载时会从私服请求 如果私服中不存在资源则从外部远程仓库下载 并缓存在私服上 我们可能把一些容易被墙的资源上传到私服上

三、远程仓库配置

配置如下

  1. <repositories>
  2. <repository>
  3. <id>jboss</id>
  4. <name>JBoss Repository</name>
  5. <url>http://repository.jboss.com/maven2/</url>
  6. <releases>
  7. <updatePolicy>daily</updatePolicy> <!-- 表示更新频率 never always interval daily daily为默认值  -->
  8. <enabled>true</enabled>
  9. <checksumPolicy>warn</checksumPolicy><!-- 表示maven检查和查验文件的策略 -->
  10. </releases>
  11. <snapshots>
  12. <enabled>false</enabled>
  13. </snapshots>
  14. <layout>default</layout>
  15. </repository>
  16. </repositories>

出于安全考虑 我们要对主仓库进行认证

  1. <servers>
  2. <server>
  3. <id>same with repository id in pom</id>
  4. <username>username</username>
  5. <password>pwd</password>
  6. </server>
  7. </servers>

将生成的项目部署到远程仓库

<distributionManagement>

  <repository>  

    <id></id>

    <name></name>

    <url></url>

  </repository>  <!--  发布版本构件的仓库 -->

  <snapshotRepository>  

    <id></id>

    <name></name>

    <url></url>

</snapshotRepository> <!--  快照版本的仓库 -->

</distributionManagement>

运行:mvn clean deploy

Maven本地仓库及远程仓库的更多相关文章

  1. maven 本地仓库和远程仓库

    在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的 ...

  2. maven仓库介绍《本地仓库、远程仓库》

    在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件.Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方)任何的构件 ...

  3. Maven详解之仓库------本地仓库、远程仓库

    在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的 ...

  4. Maven 本地仓库,远程仓库,中央仓库,Nexus私服,镜像 详解

    一. 本地仓库 本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库.这样在你下次使用的时候就不需要从远程下 ...

  5. maven修改本地仓库,远程仓库与中央仓库

    什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文件,如 log4j.jar,junit. ...

  6. Maven具体解释之仓库------本地仓库、远程仓库

    在Maven中,不论什么一个依赖.插件或者项目构建的输出.都能够称之为构件. Maven在某个统一的位置存储全部项目的共享的构件.这个统一的位置.我们就称之为仓库.(仓库就是存放依赖和插件的地方) 不 ...

  7. [Maven实战](6)仓库(本地仓库,远程仓库,镜像)

    1. 简单介绍 maven能够在某个位置统一存储全部maven项目共享的构件,这个统一的位置就是仓库.实际的Maven项目将不会各自存储其依赖文件,它们仅仅须要声明这些依赖的坐标,在须要的时候(比如. ...

  8. maven入门-- part5 本地仓库,远程仓库,私服

    解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org ...

  9. maven配置本地仓库和远程仓库

    配置本地仓库 修改maven安装目录下conf/settings.xml,也可以在idea配置中覆盖 <localRepository>E:\maven\MavenRepository&l ...

随机推荐

  1. Maven下java.lang.NoClassDefFoundError

    本文转载自:http://blog.csdn.net/qqhjqs/article/details/51491516 使用maven管理web项目中jar包之间的依赖,非常的方便好用,但是有时也会出现 ...

  2. ie浏览器,背景色兼容解决方法

    rgba的含义,r代表red,g代表green,b代表blue,a代表透明度.红绿蓝是三原色,所有颜色都可以由这三种颜色拼合而成.比如 rgba(0,0,0,.5)就是透明度为0.5的黑色.现代浏览器 ...

  3. javascript判断某种元素是否进入可视区域

    判断是否在指定的可视区域内,先用最简单的方式,比如整个页面为可视区域 找到几个关键因素: sTop= $(window).scrollTop();  //滚动条距顶部的高度 clientHeight= ...

  4. 源码阅读笔记 - 3 std::string 与 Short String Optimization

    众所周知,大部分情况下,操作一个自动(栈)变量的速度是比操作一个堆上的值的速度快的.然而,栈数组的大小是在编译时确定的(不要说 C99 的VLA,那货的 sizeof 是运行时计算的),但是堆数组的大 ...

  5. [转]-CSS 元素垂直居中的6种方法

    原文地址:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD ...

  6. CSS盒子模型与box-sizing

    今天在学习的时候偶然看到一张图片: 我瞬间瞪大了眼睛:width和height竟然不包括padding和border!! 过去所学知识有问题!在我的印象里,width应该是包含padding和bord ...

  7. seaJs的简单应用

    sea.js的应用模块化: 将Js代码按模块化分开,提高了代码的重用性:seaJs的好处: 解决了文件的依赖 解决了变量名的冲突seaJs的使用 1.定义模块 define(function(requ ...

  8. CentOS7:安装Puppet

    环境说明: 192.168.154.137 master.localdomain #Puppet Server 192.168.154.138 agent1.localdomain #Puppet A ...

  9. Eclipse连接VirtualBox中的Android x86

    Android x86 Alt+F1打开命令行,命令netcfg查看当前ip,记住,然后Alt+F7回界面. Eclipse-Window-Preferences-Android-DDMS-Use A ...

  10. Tomcat服务相关

    1. 将Tomcat安装成服务. 找到bin\service.bat文件,往cmd命令行窗口一拉,如果只提示service /remove [../..]那就是Tomcat和java的路径配置没问题. ...