Maven 和 ibiblio

发布于 2025-01-03 08:46:11 字数 285 浏览 1 评论 0原文

我在 apache 文档和 ibiblio.org 中搜索了很多,但找不到合适的直接答案。

我的问题:

  1. 当我使用 maven 依赖项(在 pom 中设置)下载 jar 时,如何确保该文件在远程存储库上不会更改?例如,如果我使用的是从 ibiblio.org(或任何其他存储库)下载的 log4j 版本 1.2.3,我如何确保每次都获得完全相同的 jar?
  2. maven会从本地存储库中删除jar吗?假设我根本没有清除存储库,它最终会填满吗?或者maven有某种机制来清除旧罐子吗?

I searched a lot in apache documentation and ibiblio.org and I could not find a decent straight answer.

My questions:

  1. When I download a jar using maven dependency (setup in pom), how can I be sure that the file does not change on the remote repository? for example, if I'm using log4j version 1.2.3, downloaded from ibiblio.org (or any other repo for that matter), how can I be sure I'm getting the exact same jar each time?
  2. Does maven delete jars from the local repository? let's assume I'm not clearing the repository at all, will it fill up eventually? or does maven have some kind of mechanism to clear old jars?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

债姬 2025-01-10 08:46:11

在 Maven 约定中,像 log4j 1.2.3 这样的发布版本永远不会改变。它将保留在您的区域设置存储库中,直到您手动将其删除。除了 Maven Central 的管理员之外,任何人都不能更改它,但我想他们不会做这么愚蠢的事情。

此外,默认情况下,下载是从 Maven Central 完成的(repo1.maven.org/maven2 而不是 ibiblio)。

Maven 中的“技巧”之一是仅下载一次工件(已发布)...这提高了与 SNAPSHOT 依赖项相矛盾的构建性能。

In Maven conventions a released version like log4j 1.2.3 will never be changed. It will be left in your locale repository until you manually delete it. It can't be changed by anyone except for the admins on maven central, but i suppose they don't do such a stupid thing.

Furthermore the download by default is done from maven central (repo1.maven.org/maven2 instead of ibiblio).

One of the "tricks" in Maven is download an artifact (released) only once...that improved your build performance in contradiction to the SNAPSHOT dependencies.

哽咽笑 2025-01-10 08:46:11

您可以配置自己的存储库,并将所有项目 pom 指向该存储库。配置 pom 以使用不同的(私有)存储库很容易,但我自己从未设置过。除了管理它以保持所有需要的工件可用之外,似乎并不太难。

You could configure your own repository, and point all your project poms at that. It's easy to configure your poms to use a different (private) repository, but I've never set one up myself. Doesn't seem too hard, other than managing it to keep all the needed artifacts available.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文