gpt4 book ai didi

java - 将公共(public) Maven 存储库用于库而不是本地的优点

转载 作者:搜寻专家 更新时间:2023-11-01 02:05:45 24 4
gpt4 key购买 nike

与在本地存储您的库相比,使用 Maven 的公共(public)存储库有哪些优势?

我发现使用公共(public)存储库有以下缺点:

  • 如果出于某种原因更新了某些库,我的应用程序可能会崩溃,考虑到我有时会使用数百个库。
  • 如果指定特定库版本以避免更新版本破坏应用程序,则该特定版本可能不再可用。
  • 存储库可能总是会遇到网络问题或类似的错误,从而完全阻止软件的开发,通过 git 共享包含所有必需 jar 的本地 lib 文件夹更加可靠。

为了避免使用公共(public)仓库,我关注 this advice , 不过也有人建议

运行 Nexus 之类的东西,您自己的 maven 存储库,您可以上传第 3 方专有 jar 文件,并代理其他公共(public)存储库,以节省带宽?”。

这真的总结了我的疑惑:为什么要为了简单地与几个开发人员共享库文件而经历所有这些痛苦?

最佳答案

  • If for some reason some library is updated my application will probably crash, considering I use hundreds of libraries that's bound to happen sometime.

没有。我知道墨菲定律指出,任何可能发生的事情都会发生。但是在 Maven Central 中发布的库应该是稳定的。如果更新库,它将使用新版本,因此不会发生冲突。任何理智的图书馆维护者都不会反对这一点。

  • If a specific library version is specified to avoid newer versions to break the application, that specific version might not be available anymore.

没有。 You can't remove an artifact from Maven Central .所以这是不可能的。

  • The repositories might always be subject to network problems or similar error blocking development of the software completely, a local lib folder with all the required jars shared through git is more robust.

虽然这是真的,但 Maven 会在您的本地存储库中保留所有 Artifact 的缓存。它只需要下载一次。


使用内部存储库管理器的优势超出了缓存 Maven Central 的范围。它允许所有依赖项的中央入口点,无论这些依赖项是否是公共(public)的。它还可以托管内部库和私有(private)库(如 Oracle JDBC)。此外,使用它对于 Maven 项目是透明的:依赖项的声明方式完全相同,无论它是公共(public) Artifact 还是内部 Artifact 。

关于java - 将公共(public) Maven 存储库用于库而不是本地的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com