如何以递归方式将工件和所有依赖项下载到目录中?

时间:2016-05-14 15:16:57

标签: java maven jar dependencies

我在工作时没有互联网连接,我想带一个特定的库。

所以我希望能够在家中下载一个工件及其所有依赖项(递归地),以便能够获取所有这些jar并使它们起作用。

我在这个网站上看过关于dependency:get的内容,这很棒但是将工件下载到本地Maven仓库(~/.m2/repository)。这意味着在下载之后,我需要查看pom文件并手动将所有相关的JAR文件复制到某个目录,然后我可以将其用于工作。

我希望能够简单地将所需的JAR及其所有依赖项下载到特定的文件夹中。

有没有办法实现这个目标?

请注意:这个问题与上述副本不同,因为我在没有任何项目或pom.xml文件的情况下询问如何执行此操作。我正在寻找最简单的方法。

编辑:我相信我找到了一个可能的解决方案(虽然不是最优雅的......):

  1. 将本地仓库(我的Windows机器上的~\.m2\repository)重命名为repository.old。改为在同一位置创建一个空目录repository

  2. 运行

    mvn dependency:get -Dartifact=<groupid>:<artifactid>:<version>
    

    这不需要pom.xml或项目。

  3. 工件和依赖项已下载到您当前的本地空存储库(~\.m2\repository)。

  4. 将本地存储库移至任何位置,并将repository.old重命名为repository

  5. (我认为)您现在拥有所需工件的所有依赖项。

2 个答案:

答案 0 :(得分:1)

dependency:get会在.m2中加载您需要的所有内容,然后当您离线时,您会感觉良好。我认为你不需要做任何其他事情。

在家时,通过断开网络设备的连接来测试它。

答案 1 :(得分:0)

通常,当maven更新indieces时,会下载依赖项。 正如你在这篇文章中看到的那样:What is Eclipse doing when it says that it's updating indexes?你只需要启用eclipse或者你用来下载源的任何ide。