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
05-18 05:20