Maven 存储库主要是存放一些第三方依赖jar包等。

严格来说,只有两种存储库:本地和远程,本地存储库是指您远程下载到本地的一个缓存,还包含尚未发布的临时构建文件。远程存储库是指一些可以通过各种协议如file://或http://并下载的远程存储库(例如,repo.maven.apache.org和uk.maven.org中的 Maven中央存储库)。其他“远程”存储库可能是在公司内的文件或HTTP服务器上设置的内部存储库,用于在开发团队和发布之间共享私人工件,也可以称为私服。

内部存储库

内部存储库也可以称为私服,在使用Maven中,特别是在企业环境中,连接到互联网下载依赖对于安全性,速度或宽带是不能确保的。出于这个原因,最好设置一个内部存储库(私服)来存放工件副本,并发布专用工件。

这种内部存储库可以使用HTTP或文件系统(使用file://url)下载,并上传到使用SCP,FTP或文件副本。

设置内部存储库

设置内部存储库只需要你有一个放置它的位置,并按照远程存储库相同的布局(例如:repo.maven.apache.org)复制所需要的工件。

不建议你使用rsync://复制中央仓库完整的库,推荐你使用资源管理服务器(例如:Sonatype Nexus OSS ,JFrog Artifactory Open Source ,Apache Archiva 等开源项目),然后在内部资源库中保存工件以便稍后快速下载。

使用内部存储库

使用内部存储库非常简单,只需要在POM中添加repositories标签即可,如下所示:

 <project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>

如果你的内部存储库需要使用身份认证,则需要在你的settings文件中使用id来指定登录信息。

本地存储库

通常我需要将自己的项目部署到本地存储库进行共享,是其他项目可以直接就访问到该项目,只需要简单如下操作:

mvn install

这个命令可以将本地的项目打包放到本地存储库中。

远程存储库

如果想将本地项目部署到远程仓库,这里指的是私服,可以通过如下命令:

mvn deploy

Apache Maven(六):存储库的更多相关文章

  1. Maven学习(五)-----如何从Maven远程存储库下载?

    如何从Maven远程存储库下载? 根据 Apache Maven 的说明: Downloading in Maven is triggered by a project declaring a dep ...

  2. 如何从Maven中央存储库下载?

    根据 Apache Maven说明: 下载时由项目的 pom.xml 文件的依赖来决定,目前不在本地存储库触发(当中央存储库包含了一个更新).默认情况下,Maven将从中央存储库下载. 在Maven中 ...

  3. maven 学习---如何从Maven远程存储库下载?

    根据 Apache Maven 的说明: Downloading in Maven is triggered by a project declaring a dependency that is n ...

  4. Maven中央存储库 和 如何从Maven远程存储库下载?

    当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默 ...

  5. Maven - Repository(存储库)

    版权所有,未经授权,禁止转载 章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Ma ...

  6. Maven中央存储库

    当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默 ...

  7. Maven_3 如何从Maven远程存储库下载

    如果在你的项目中,需要使用到的jar包. 如果使用build path的话,你把你的项目给别人运行的时候,别人还需要去build path,如果要换jar包的版本,这些都是比较麻烦的,所以我们使用ma ...

  8. Maven学习(四)-----Maven中央存储库

    Maven中央存储库 当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没 ...

  9. maven 学习---Maven中央存储库

    当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载. 首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源, 如果没有找到,然后把它会 ...

  10. 将完整的Maven远程存储库下载到本地存储库(别试了,不太可取)

    别试了,这种方式不太可取. 要解决可以有如下思路: 1.做成镜像站点,有如下命令: wget -m http://site.to.mirror.com #-m代表“镜子”. rsync repo1.m ...

随机推荐

  1. 在asp.net中如何使用Session

    2.那么在asp.net中到底该怎么使用Session呢? Session对象用于存储从一个用户开始访问某个特定的aspx的页面起,到用户离开为止,特定的用户会话所需要的信息.用户在应用程序的页面切换 ...

  2. linux里终端安转视频播放器的操作及显示

    [enilu@enilu ~]$ mplayerbash: mplayer: command not found[enilu@enilu ~]$ yum list | grep mplayer^C^C ...

  3. SQL Server现有表上自增属性增删原理研究

    项目需求:线上有一张表,数据类型为int类型,现在由于项目变更,需要这一列添加自增属性,而且,为了保证能尽快完成,希望使用脚本来实现,而不是在表设计中通过GUI窗口来实现. 问题来了:SQL Serv ...

  4. vue2.x 随记

    1. 外部js调用vue的方法等 将vue实例中的this传入外部js文件(比如作为某方法的参数),即可访问传入实例的所有内容.调用该实例中子组件的方法,用$refs. 2. 路由参数 传递:vm.$ ...

  5. vue + element-ui 制作tab切换(适用于单页切换不同标记显示不同内容)

    本篇文章使用vue结合element开发tab切换单页不同的标记显示不同的内容. 1.安装element-ui npm install element-ui --save 2.在main.js中引入e ...

  6. June 01st 2017 Week 22nd Thursday

    Do what you say, say what you do. 做你说过的,说你能做的. Do what I have said, live up to my promise, answer th ...

  7. 转一个csdn看到的帖子:而立之年的程序猿失业了 [问题点数:0分,结帖人jinxingfeng_cn]

    http://bbs.csdn.net/topics/390612263?page=1#post-395768948

  8. Kubernetes stateful set讲解以及一个基于postgreSQL的具体例子

    Stateful Set是Kubernetes 1.9版本新引入的一个概念,用于管理有状态的应用. Kubernetes官方文档: https://kubernetes.io/docs/concept ...

  9. Jerry的ABAP原创技术文章合集

    我之前发过三篇和ABAP相关的文章: 1. Jerry的ABAP, Java和JavaScript乱炖 这篇文章包含我多年来在SAP成都研究院使用ABAP, Java和JavaScript工作过程中的 ...

  10. C语言 指向函数的指针

    #include <stdio.h> int sum(int a, int b) { int c = a + b; printf("%d + %d = %d\n", a ...