Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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'中的依赖项;s依赖插件_Java_Maven - Fatal编程技术网

Java 不包括Maven'中的依赖项;s依赖插件

Java 不包括Maven'中的依赖项;s依赖插件,java,maven,Java,Maven,为了加快依赖于Docker的构建过程,我想生成一个包含已为我的项目下载的所有maven依赖项的映像。为此,我使用了mavendependency插件,调用目标dependency:resolve 我的maven项目包含两个模块(A和B),而B取决于A,以便构建成功。这意味着当我调用dependency:resolve目标时,当进程到达依赖于尚未构建的A的模块B时,进程将失败(我在pom.xml中使用-SNAPSHOT版本) 我已经尝试排除这种依赖性,但我找不到一种方法使其工作。如何做到这一点?根

为了加快依赖于
Docker
的构建过程,我想生成一个包含已为我的项目下载的所有
maven
依赖项的映像。为此,我使用了
maven
dependency
插件,调用目标
dependency:resolve

我的
maven
项目包含两个模块(
A
B
),而
B
取决于
A
,以便构建成功。这意味着当我调用
dependency:resolve
目标时,当进程到达依赖于尚未构建的
A
的模块
B
时,进程将失败(我在
pom.xml
中使用
-SNAPSHOT
版本)

我已经尝试排除这种依赖性,但我找不到一种方法使其工作。如何做到这一点?

根据Maven,您可以使用其他参数,包括ExcludeArtifacts

排除人工制品
要排除的工件名称的逗号分隔列表。
类型:java.lang.String
自:2.0
必填项:否
用户属性:ExcludeArtifacts

这将有助于实现您的目标,而不会打乱常规的构建过程。

根据Maven,您可以使用其他参数,包括ExcludeArtifacts

排除人工制品
要排除的工件名称的逗号分隔列表。
类型:java.lang.String
自:2.0
必填项:否
用户属性:ExcludeArtifacts


这将有助于实现您的目标,而不会打乱您的常规构建过程。

如果B依赖于A,那么A将首先在多模块构建中构建。我不会构建任何东西。只需调用
依赖项:resolve
插件,该插件将下载所有项目/模块依赖项。这就是它失败的原因,因为它没有构建依赖模块。我有完全相同的问题,因为我试图使用相同的方法实现完全相同的目标。所有可用选项的组合都会影响解决方案中工件的包含,但奇怪的是,插件会在考虑是否应排除工件之前尝试检索工件。如果B依赖于A,则在多模块构建中首先构建A。我没有构建任何东西。只需调用
依赖项:resolve
插件,该插件将下载所有项目/模块依赖项。这就是它失败的原因,因为它没有构建依赖模块。我有完全相同的问题,因为我试图使用相同的方法实现完全相同的目标。所有可用选项的组合都会影响在解析中包含工件,但奇怪的是,插件在考虑是否应排除工件之前会尝试检索工件。我在我的项目和另一个项目中尝试了这一点。遗憾的是,它没有像我想象的那样起作用。如果依赖项可用,它将在以后排除,而不显示或下载它。另一方面,如果依赖项不可用,它将失败并抱怨它丢失;不幸的是,这就是我的情况。是否应该为此填写错误报告?我在我的项目中尝试了此方法,并使用了另一种方法。遗憾的是,它没有像我想象的那样起作用。如果依赖项可用,它将在以后排除,而不显示或下载它。另一方面,如果依赖项不可用,它将失败并抱怨它丢失;不幸的是,这就是我的情况。是否应该为此填写错误报告?