Maven mvn依赖插件需要安装JAR吗?

Maven mvn依赖插件需要安装JAR吗?,maven,maven-plugin,maven-dependency-plugin,Maven,Maven Plugin,Maven Dependency Plugin,在多模块项目中运行mvn dependency:copy dependencies时,mvn似乎希望JAR已经安装在.m2/repo中。也许我遗漏了什么,但我无法理解其中的意义… 这个问题有点类似于,但它更具体的依赖插件(我猜…)和提到的问题没有一个好的答案,至少没有帮助我 我有一个多模型项目,其中modA依赖于modB 现在我想跑步 mvn dependency:copy-dependencies -am -pl modA 这应该复制modA及其依赖的所有模块的所有依赖项,例如,也复制mod

在多模块项目中运行mvn dependency:copy dependencies时,mvn似乎希望JAR已经安装在.m2/repo中。也许我遗漏了什么,但我无法理解其中的意义…
这个问题有点类似于,但它更具体的依赖插件(我猜…)和提到的问题没有一个好的答案,至少没有帮助我

我有一个多模型项目,其中modA依赖于modB
现在我想跑步

mvn dependency:copy-dependencies -am -pl modA
这应该复制modA及其依赖的所有模块的所有依赖项,例如,也复制modB的所有依赖项

问题是,如果.m2/repo不包含modB的jar,那么插件就会失败。。。为什么?
有趣的是,如果我只是在适当的位置创建一个空的“jar”文件(位于.m2/repo/),插件就足够成功了,这就证明了它甚至没有查看jar的内容,但它仍然要求它在适当的位置。WTF

第一个问题-为什么?
第二个问题-我如何绕过这个问题而不必真正生成罐子或“触摸”它们?(我有很多,不实用…)

更新:天哪,我刚刚意识到我忘了添加一块有价值的东西。。。我不想复制modB,所以我实际上从命令中排除了它的工件ID,所以它实际上是:

mvn dependency:copy-dependencies -am -pl modA -DexcludeGroupIds=mod.b.group.id
我甚至试过:

mvn dependency:copy-dependencies -am -pl modA -DexcludeArtifactIds=modB
因此,如果我没有这样做,那么插件将在repo中查找modB是有意义的,但是由于modB被排除在外,因此我希望插件不需要modB.jar出现。

哦,好吧,也许这个问题只需要一个bug报告…

为什么?我猜这就是命令应该做的事情——复制依赖项,如果它们不存在就会失败。插件与工件的完整性无关


对于选定的组/项目,绕过此选项的一种方法是使用插件的
excludeGroupId
excludeArtifactIds
参数。

对不起,我忘了添加最有价值的部分。。。看看我在问题中的更新。实际上,我故意将modB从copy命令中排除,但它没有按预期工作。