【问题标题】:Using Maven to just download JARs使用 Maven 下载 JAR
【发布时间】:2011-11-25 10:44:18
【问题描述】:

我想让 Maven 下载 pom.xml 文件中列出的 JAR。我怎么做?目前,Maven 想要编译该项目(但它失败了)。我不关心编译它,因为我是手动编译的。我只想要罐子。帮忙?

阿尔伯特

ps:背景,我是手动编译的,因为我可以在Eclipse中轻松调试项目。我手动下载了一堆 JAR 文件,但我怀疑 JAR 版本不匹配,因为运行时出现了一个神秘的错误。我会手动检查,但是有数百个相关的 JAR 文件。理想情况下,我想下载所有 JAR 文件,将我的 Eclipse 项目指向新下载的 JARS,然后继续我的生活。 :)

【问题讨论】:

  • 您当前使用的是哪个 maven 命令? “mvn eclipse:eclipse -DdownloadSources”通常应该只将 jar 下载到本地 repo 并设置具有依赖项的 .project 文件(注意:覆盖已经存在的文件)。
  • 该命令确实下载了 JAR,但它完全无法设置 .project 文件

标签: maven-2 maven maven-3


【解决方案1】:

你可以试试这个命令:

mvn dependency:resolve

或者只是调用“安装”生命周期,如下所示:

mvn install

【讨论】:

  • 我很确定“安装”将尝试编译(并运行测试),对于多模块项目,它将在第一个错误时中止,并且不会为以下模块下载任何 jar。这就是我使用它时的行为方式。
  • "install" 确实尝试编译它,但 "dependency:resolve" 似乎有效。谢谢!
  • 如果它显示resolution will not be reattempted until the update interval of <some artifact> has elapsed or updates are forced,则在 args 中添加 -U。
  • 我做了一个快速测试,它似乎是依赖:resolve 打印出依赖关系,但它没有下载它们......
  • @jplandrain Maven 3.6.3 还会从本地 repo 下载工件(如果尚不可用)。刚检查。之后它会打印依赖项
【解决方案2】:

您最好的方法是使用 m2eclipse 并将您的 pom 导入 eclipse。它将下载所有依赖项并将其链接到您的项目,并且作为额外的奖励,它还将下载并关联它们的源代码和 javadoc jar。项目是否有数百个或几个依赖项并不重要,它会以相同的方式工作。

有时,我们想快速做某事并完成它,但最终会比立即做花费更长的时间,尤其是当存在数百个依赖项时。

【讨论】:

  • 虽然这是一个很好的建议,但我认为 OP 只是想知道如何下载所有 jar。这将是:“mvn dependency:resolve”(到本地 maven repo)或“mvn dependency:copy-dependencies”(到目标目录)
【解决方案3】:

试试

mvn install dependency:copy-dependencies

你会看到'target/dependency'文件夹下的所有jar

【讨论】:

  • 谢谢!这正是我想要的!
【解决方案4】:

如果你使用的是eclipse,相信你可以直接右键项目-->maven-->更新项目

【讨论】:

    猜你喜欢
    • 2012-06-01
    • 2014-01-02
    • 1970-01-01
    • 2012-07-06
    • 2016-11-06
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多