【问题标题】:Is it ok to use the local repository in maven?可以在maven中使用本地存储库吗?
【发布时间】:2021-10-29 04:28:24
【问题描述】:

所以我最近转而在 maven 中使用本地 repo 来节省依赖管理的时间,如下所示:

<repository>
   <id>local</id>
   <url>file://C:/Users/REDACTED/.m2/repository/</url>
<repository>

现在这段代码可以工作了,但它是否已被弃用?

【问题讨论】:

  • You Clan 也使用 -o 选项(离线模式)而不是使用本地存储库。
  • 你能解释一下你的意思:save time with dependency management, 吗?以何种方式?有什么问题?
  • 不,只是我发现添加所有存储库很累。

标签: java maven


【解决方案1】:

你没有说你把那个 XML 放在哪里:在项目的 POM 文件或你本地的 settings.xml 文件中。

我会说将本地存储库放入 POM 文件不是一个好主意,因为它会将您的项目绑定到一个不正确的文件位置......其他可能需要在以下位置构建您的项目的人在未来的某个时间点。 (例如,用户名不是“REDACTED”的人。)

将(仅)存储库硬连接为本地存储库的其他缺点是:

  • 您必须手动将项目的所有依赖项添加到本地存储库中。
  • 您不会自动从它们的源代码库中获取对这些依赖项的任何更新。这主要适用于 SNAPSHOT 依赖项。

显然,>>您


...这是否已被弃用?

Maven 团队将是唯一有资格将其标记为“已弃用”的人,我认为他们没有。


我认为您在这里不恰当地使用了“弃用”一词。

在一般英语意义上,“deprecate”的意思是“表示不赞成(某事)”。这是一个相当广泛的含义......而不是常见的用法。

在 IT 环境中,弃用通常是指某种软件产品或功能;见Wikipedia。它通常意味着“某物”正在以某种方式被撤回或删除......和/或建议您停止使用它。推荐通常来自软件供应商自己。

您似乎是在“练习”的背景下使用它。我不认为 Maven 团队那样使用它。如果他们要对此说些什么,他们可能会称其为建议。

我的观点是,IT 界的某些人使用“已弃用”的方式与(其他)人使用“最佳实践”的方式相同。也就是说,他们用它来传达他们所说的话的错误权威感。 (请阅读No Best Practices 了解我的意思。)

简而言之:

  • 如果您的意思是一般英语意义上的“已弃用”,那么您问题的那部分几乎没有意义。

  • 如果您的意思是“良好”IT 意义上的“已弃用”(即 Maven 团队的官方声明),那么不,它不是。

  • 如果您的意思是“不良”IT 意义上的“已弃用”,那么您(字面意思)是在要求以(可能)虚假权威做出的声明。

    不是个好主意。问你真正的意思。例如,问“有人能给出我应该/不应该这样做的理由吗?”然后自己决定这些理由是否适用于你的上下文。 p>

【讨论】:

  • 好的,谢谢。
猜你喜欢
  • 2014-07-12
  • 2015-10-12
  • 2013-10-11
  • 2016-12-02
  • 1970-01-01
  • 2016-12-21
  • 2014-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多