使用 Maven 下载 JAR

Posted

技术标签:

【中文标题】使用 Maven 下载 JAR【英文标题】:Using Maven to just download JARs 【发布时间】: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: Command to update repository after adding dependency to POM的可能重复 【参考方案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-->更新项目

【讨论】:

以上是关于使用 Maven 下载 JAR的主要内容,如果未能解决你的问题,请参考以下文章

使用 Maven 下载 JAR

Maven重新下载未下载完成的jar包

Maven - 下载JAR包

java,想用maven构建项目,但是相关的jar包本地有,没必要从网上下载,怎么设置?

构建Maven项目自动下载jar包

maven nexus 如何让下载的jar不传到本地仓库