欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Apache Maven(六):存储库

程序员文章站 2022-03-04 19:01:58
Maven 存储库主要是存放一些第三方依赖jar包等。 严格来说,只有两种存储库:本地和远程,本地存储库是指您远程下载到本地的一个缓存,还包含尚未发布的临时构建文件。远程存储库是指一些可以通过各种协议如file://或http://并下载的远程存储库(例如,repo.maven.apache.org ......

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

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

内部存储库

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

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

设置内部存储库

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

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

使用内部存储库

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

 1 <project>
 2   ...
 3   <repositories>
 4     <repository>
 5       <id>my-internal-site</id>
 6       <url>http://myserver/repo</url>
 7     </repository>
 8   </repositories>
 9   ...
10 </project>

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

本地存储库

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

mvn install

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

远程存储库

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

mvn deploy