【问题标题】:Work offline with all Maven repositories使用所有 Maven 存储库脱机工作
【发布时间】:2016-12-13 08:01:36
【问题描述】:

我需要使用Maven 离线工作,因此,在离线之前我应该​​使用Maven 下载所有项目依赖项。

  1. 如果我使用所有Maven 存储库,它将占用多少空间?

  2. 有没有一种简单的方法可以下载人类已知的所有Maven 依赖项?

出于安全原因,我想保持离线状态。而且我不确定开发过程中会添加哪些Maven依赖。

【问题讨论】:

  • mvnrepository.com 看起来目前那里大约有 566 万个工件。除非您拥有非常巨大的硬盘空间,否则这很可能不可行。
  • 你是什么意思 所有 Maven 存储库
  • 你为什么要做这样的事情?
  • 出于安全原因,我想保持离线状态。而且我不确定开发过程中会添加哪些Maven依赖。

标签: java maven


【解决方案1】:

在离线之前尝试找出您需要的依赖项。

然后在maven上做一个更新项目。它会为您下载所有依赖项。然后你可以保持离线,只要你不需要添加任何其他依赖。

你可以使用这个命令:

mvn clean install -U

如果您在项目中使用 Eclipse,则右键单击项目 -> 选择 Maven -> 更新项目

【讨论】:

  • @Yan.F 在开始开发之前,您应该知道您需要什么 jar。下载这些,然后看看如何在 Maven 中引用存储在本地计算机中的库
【解决方案2】:

如上所述,下载所有可能的 Maven 依赖项并不是一个好的选择。 MavenCentral 可能包含几个 TB,如果您尝试将其全部下载,您可能最终会被列入黑名单。

我们公司的网络也没有直接连接到 MavenCentral。相反,我们运行自己的 Nexus 并有一个复制作业,将请求和批准的依赖项(及其所有传递依赖项)复制到我们公司的 Nexus。

您也可以这样做,或为此使用计算机上的本地存储库。

另一种方法是在连接到 Internet 的计算机上创建一个虚拟项目,将每个直接依赖项放入虚拟项目的 pom 中,然后让 Maven 下载您需要的所有内容。然后,您可以将虚拟项目中的 repo 复制到您的真实项目中。

当然,在这两种情况下,每次添加依赖项时都必须执行这些步骤。

【讨论】:

    猜你喜欢
    • 2013-04-25
    • 2012-09-14
    • 2014-06-26
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    相关资源
    最近更新 更多