如何使用 Mavenpom 只将 jar 文件下载到特定目录?

有没有一种方法可以将依赖项从 pom.xml 文件下载到 Java 中的指定文件夹?我可以从 java 运行 maven 命令,我得到了下载消息,但我不知道 maven 在哪里存储这些库?如何将这些依赖项下载到特定文件夹?

97732 次浏览

Maven 将所有这些存储在本地 Maven2存储库中。默认情况下,它将它们存储在您的用户主目录中名为存储库的目录下。

你可以使用 maven 依赖-plugin 的目标——复制(copy)来获取项目的所有依赖项,并将它们放在一个文件夹中。

Http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html

看一下 maven 的依赖性插件,特别是 目标。 用途部分描述了如何正确地做你想做的事情

要从命令行执行此操作,只需执行以下操作:

$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR

添加以排除传递性或内部依赖性:

-DexcludeTransitive=true

在 pom.xml 中添加类似于下面的内容:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</plugin>

然后运行 mvn clean dependency:copy-dependencies来执行复制。 结合使用 汇编插件,您可以将所有内容打包到一个自包含的归档文件中以便分发。

  1. 转到这个网站: http://jar-download.com/online-maven-download-tool.php

  2. 插入 Maven 依赖项 XML

  3. 以 ZIP 格式下载 jar 文件。

正如解释的 给你,您可以使用 Maven 依赖性插件: get来完成这个任务。

例如,如果要在本地文件夹中下载 org.apache.hive:hive-common:2.1.1,请执行以下操作:

mvn dependency:get -Ddest=./ -Dartifact=org.apache.hive:hive-common:2.1.1

如果要从 https://oss.sonatype.org/content/repositories/snapshots快照存储库下载 com.orientechnologies:orientdb-community-gremlin的最新 3.0.0-SNAPSHOT:tar.gz版本,请执行以下操作:

mvn dependency:get -Ddest=./ -DremoteRepositories=sonatype-nexus-snapshots::::https://oss.sonatype.org/content/repositories/snapshots -Dartifact=com.orientechnologies:orientdb-community-gremlin:3.0.0-SNAPSHOT:tar.gz