maven学习笔记七 仓库

  • 构件的仓库

仓库主要是在构建过程中处理构件和依赖包。

严格的来说,仅仅有两种类型的仓库:本地仓库和远程仓库。本地仓库其实是你自己安装的对于远程仓库的一个备份,同时也包含了一些你并未发布的临时构件。

远程仓库是指其他类型的各种仓库,它可以使用file:\\或者http:\\等各种协议进行访问。有一些远程仓库是真正意义上的远程仓库,由第三方机构建立,所有人都可以共享的仓库。另一种其实是公司内部建立的内部库,为本公司的多个开发团队使用。

本地库和远程库都是使用同一方式来构建的,容易使用和能够离线使用。通常,库的结构对用户都是透明的。

  • 为什么不存储jar包在cvs等版本管理器上

不建议将jar包存储在版本管理器上。maven试着促进用户在本地建立jar和任意的项目构件的仓库的观点,使得团队成员能够共享使用。在许多项目中如XML的解析和标准工具包一直被重复的拷贝使用,那么使用maven这些都能够被共享使用。

比cvs改进的地方

  • 更少的存储 - 仓库一般都比较大, 因为所有的jar包都仅保存在同一个地方。
  • 检出项目更快- 检出的时候,因为没有了jar包,项目仅仅会只有一些资源文件的更新. 而且jar包的下载也只需要一次,如果本地库已经有了,那么不会再次下载
  • 不需要版本控制 - CVS和其他版本控制器都是为了那些需要存储版本信息的资源, 但jar包很少改变, 或者只是改个名字就指向了一个新的版本.存储这些并没有什么好处。

  • 仓库的使用

一般来说,本地仓库并不需要你做任何事情,除非你要删除它重新下载。

而远程仓库则一般用来下载和更新。

从远程仓库进行下载,一般来说,如果你的POM中声明了一个你本地库不存在的jar包,那么就会从远程库开始下载。默认的,从maven的中心库进行下载。

如果你重写这个,那么可以改成从镜像下载

你可以在你的setting.xml中对全局进行一个中心镜像的设置。但是请注意,在项目的pom.xml中的配置会优先被使用。

  • 离线构建

如果你暂时性没有连接上网络,但是又需要构建你的项目,那么可以使用离线构建的命令。

 mvn -o package

许多要联网的插件就不会执行任何操作。

  • 内部仓库 

一般来说,互联网上的仓库在一个企业内部直接访问是认为不安全的,而且有速度和带宽的影响。在这些原因下,需要在企业内部建立一个内部的仓库来共享jar包和发布一些私有构件。

去配置一个内部库只需要有一个地方放置它,并下载必要的构建,然后使用和中央库一样的布局。

不推荐拷贝整个中央库,那太庞大而且你会被列入黑名单。可以通过repositoryManager页进行描述,只下载你所需的jar包。

使用内部库

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

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值