是否有可能删除存储在maven中心的库?

时间:2014-08-05 08:10:20

标签: android maven gradle

我对gradle如何处理Android studio中的库链接有点好奇。我知道所有这些库都存储在maven中心,但很多人问我,如果这些库被删除或者所有者从那里删除自己的库,或者可能是我们已经在库中实现的特定版本。

所以我的问题在这里,是否有可能库或任何特定版本的库将从maven中央服务器删除?如果是,那么我永远无法编译我的代码?

任何人都对此有深入的了解吗?

3 个答案:

答案 0 :(得分:1)

这就是为什么你想运行自己的存储库,如Nexus或Artifactory(以及其他原因)。他们可以充当缓存代理,永久保存下载的工件。

答案 1 :(得分:1)

您问题的简单答案是:否。

Maven central中的工件不会被删除,因为它可能会出现问题,因为您所描述的其他人构建可能会失败。也无法更改部署到中央的工件。另请参阅FAQ on Central

此外,我总是建议使用一个存储库管理器来防止这种情况,如果它发生我不相信的情况,因为它会破坏Maven Central的可靠性。

答案 2 :(得分:0)

maven central中的所有库都是发行版,永远不应删除。实际上,在您将工件发布到任何公共存储库之后,您将永远无法阻止某人使用它。当您第一次使用maven central(或任何其他公共存储库)中的库时,将其下载到本地存储库中。在此之后,您使用本地版本甚至一些在公共仓库中删除它。 因此,如果您的.maven文件夹中仍有库,您仍然可以构建项目。但是,在删除库后,从未下载过库的人不能。

但理论上这一切都是纯粹的,因为没有人会从maven中心删除任何版本。当你拥有自己的远程存储库(真正推荐的)时,你永远不应该删除任何工件。