【问题标题】:How to download an artifact with all its dependencies?如何下载具有所有依赖项的工件?
【发布时间】:2019-01-18 11:56:32
【问题描述】:

我想学习下载一个包含所有依赖项的工件。例如如何下载 com.android.tools.build/gradle artifact (https://mvnrepository.com/artifact/com.android.tools.build/gradle/2.3.0) 及其所有依赖项 通过终端中的 mvn 命令(命令提示符)或其他任何方式。我只是想学习在 maven 存储库中下载一个包含所有依赖项的工件,我不想创建一个 java 项目。只需“下载一个包含所有依赖项的工件。”

我下载了 Android Studio,它有 Android gradle 插件工件及其依赖项。

如何下​​载此工件及其依赖项在一个文件夹中???

【问题讨论】:

  • 需要指定“所有依赖项”的含义:所有传递依赖项?所有版本的传递依赖(如果 log4j 在依赖树中出现两次,你想同时拥有吗?) pom.xml 中指定的插件?当您告诉我们您的最终目标是什么(即您想对依赖项做什么)时,也许我可以帮助您缩小问题范围。
  • 我不想创建 Java 项目 你不能创建 Java 项目。你只需要一个带有“start”依赖的 pom.XML

标签: android maven download repository


【解决方案1】:

你可以运行这个命令:

mvn -DgroupId=com.android.tools.build -DartifactId=gradle -Dversion=2.3.0 -DremoteRepositories="http://repo1.maven.org/maven2" dependency:get

它将从通知的存储库中获取您的依赖项。 JAR 将下载到您的本地 Maven 存储库中。

围绕dependency:getdependency:get 的文档可以be found in here.


不幸的是,我找不到此插件的任何选项来为所有工件指定输出目录,我尝试了 -DoutputDirectory 选项,但它似乎不适用于此插件。

我建议您暂时将您的 Maven settings.xml 中的 localRepository 的路径更改为一个新文件夹,该文件夹将保存下载的 JAR:

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  -->
  <localRepository>DOWNLOADED_JARS_OUTPUT_FOLDER</localRepository>

【讨论】:

  • @YazdanBodaghi 不幸的是,我没有找到与此插件上的输出目录或文件夹选项相关的任何内容,但我已经用解决方法补充了我的答案。请检查
  • @YazdanBodaghi 你错过了链接地址
  • @YazdanBodaghi,提到的解决方法没有解决您在第二个问题上提出的问题?
  • 而且我刚刚测试过,如果您将我的答案与@JF 答案混合使用,您将达到您想要的效果
猜你喜欢
  • 2016-06-26
  • 2011-05-23
  • 1970-01-01
  • 2019-06-14
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 2020-03-03
相关资源
最近更新 更多