【发布时间】:2011-12-06 05:38:13
【问题描述】:
有没有办法将 pom.xml 文件中的依赖项下载到 java 中的指定文件夹?我可以从 java 运行 maven 命令并收到下载消息,但我不知道 maven 将这些库存储在哪里?如何将这些依赖项下载到特定文件夹?
【问题讨论】:
有没有办法将 pom.xml 文件中的依赖项下载到 java 中的指定文件夹?我可以从 java 运行 maven 命令并收到下载消息,但我不知道 maven 将这些库存储在哪里?如何将这些依赖项下载到特定文件夹?
【问题讨论】:
看看 maven 的依赖插件,特别是
copy-dependencies 目标。 usage section 描述了如何做你想做的事。
要从命令行执行,只需执行以下操作:
$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR
添加此项以排除传递或内部依赖项:
-DexcludeTransitive=true
【讨论】:
mvn dependency:copy-dependencies "-DoutputDirectory=OUTPUT_DIR"
正如here 解释的那样,您可以为此使用maven-dependency-plugin: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 快照存储库下载最新的3.0.0-SNAPSHOT:tar.gz 版本的com.orientechnologies:orientdb-community-gremlin,请执行以下操作:
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
【讨论】:
-Dartifact=org.apache.hive:hive-common:LASTEST获取最新版本。
在 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 执行复制。
将此与assembly plugin 结合使用,您可以将所有内容打包成一个独立的存档以供分发。
【讨论】:
${project.build.directory} 更改为 main\java\resources\libs 以构建我的本地库。谢谢!注意:这里我的路径是相对于usr.dir(项目根目录)的,但它也可以是绝对的,比如C:\Mydir。太好了!
Maven 将所有这些存储在它的本地 Maven2 存储库中。默认情况下,它会将它们存储在您的用户主目录中名为存储库的目录下。
您可以使用 maven-dependency-plugin 的称为 copy 的目标来获取项目的所有依赖项并将它们放在一个文件夹中。
http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html
【讨论】:
访问此站点:http://jar-download.com/online-maven-download-tool.php
插入 Maven 依赖项 XML
以 ZIP 格式下载 jar 文件。
【讨论】: