Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Maven将工件及其依赖项下载到指定的目录(没有pom.xml)?_Java_Maven - Fatal编程技术网

Java 如何使用Maven将工件及其依赖项下载到指定的目录(没有pom.xml)?

Java 如何使用Maven将工件及其依赖项下载到指定的目录(没有pom.xml)?,java,maven,Java,Maven,我需要做的是将一个工件从我的内部存储库(当前)及其所有依赖项下载到指定的目录。在没有实际下载源代码(并使用其pom.xml)的情况下:我只需要从shell运行一个普通的maven命令并访问存储库中的二进制文件 我不需要将依赖项下载到本地存储库(即/plugins的行为),我希望将工件及其所有依赖项复制到指定的目录 大概是这样的: mvn super-downloader:download-everything -Dartifact=my.group:myArtifact:version -Ddi

我需要做的是将一个工件从我的内部存储库(当前)及其所有依赖项下载到指定的目录。在没有实际下载源代码(并使用其
pom.xml
)的情况下:我只需要从shell运行一个普通的maven命令并访问存储库中的二进制文件

我不需要将依赖项下载到本地存储库(即/plugins的行为),我希望将工件及其所有依赖项复制到指定的目录

大概是这样的:

mvn super-downloader:download-everything -Dartifact=my.group:myArtifact:version -Ddirectory=.
我所尝试的:

插件将依赖项复制到我的本地存储库(在~/.m2下),这不是我想要的

需要一个maven项目。我需要在没有pom.xml的情况下运行该命令

插件应该使用
-DdependencyDepth=
,但它无法解析对
xerces:xerces impl:2.6.2
的依赖关系。我手动将其上传到我的Nexus,但随后它未能找到不存在的
XMLAPI:XMLAPI:2.6.2

有什么想法吗

谢谢。

您所要求的似乎是一个公平的要求

受的启发,我创建了一个简单的bash脚本来解决这个问题:

#mvn-copy.sh
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dmdep.useBaseVersion=true -DoutputDirectory=. -Dartifact=$1:$2:$3
mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dmdep.stripVersion=true  -DoutputDirectory=. -Dartifact=$1:$2:$3:pom
mvn -f $2.pom org.apache.maven.plugins:maven-dependency-plugin:2.8:copy-dependencies -DoutputDirectory=lib
要使用它,只需键入
/mvn-copy.sh
。它将在当前目录下载主jar,然后将所有依赖项下载到
lib
文件夹中

不是最好的解决方案,也不是最漂亮的解决方案,也不是我想要的,但它解决了问题,挽救了一天。

参见: