java - 清除本地 maven 存储库后的问题
问题描述
我使用以下版本的 maven (v3.5.4),我看到我最近删除了 maven 本地存储库 (~/.m2/repository) 以节省一些空间以应对紧急情况,认为这个本地副本也将存储一些在我的存储库管理器(JFrog Artifactory)中。
$ mvn --version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T00:03:14+05:30)
Maven home: /opt/maven
Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family:
但是在删除本地存储库后,我增加了服务器空间,然后开始编译一些 java 项目,它开始因依赖错误而失败。
寻找关于以下几点的说明?
- 这个本地存储库是否也存储在存储库管理器(JFrog Artifactory)服务器中?如果这没有被存储,有没有办法做到这一点,这样我们就不会再遇到这个问题了?
- 在删除本地 maven 存储库(~/.m2/repository)之前,我们是否需要采取任何预防措施?
解决方案
本地存储库主要用作远程存储库的缓存。它将包含您从远程存储库下载的任何人工制品以及您作为构建的一部分上传的人工制品。
如果您执行此操作,mvn install
则该人工制品只会进入本地存储库;因为mvn deploy
它将转到本地存储库和远程存储库。
所以“这个本地存储库是否存储在工件中”:不是自动的。您需要部署人工制品。
“在删除本地 maven 存储库之前我们是否需要采取任何预防措施”:不需要。但是您将永久删除仅存储在本地的所有人工制品。这通常不是问题,因为您将部署无论如何都想保留的人工制品。