在多模块项目中运行 mvn dependency:copy-dependencies 时,似乎 mvn 期望 jar 已安装在 .m2/repo 中。也许我遗漏了一些东西,但我无法弄清楚其中的意义......
这个问题有点类似于Maven:为什么它需要依赖模块的 .jars 用于 `mvn initialize`?但它更具体到依赖插件(我猜......)并且提到的问题没有一个很好的答案,至少没有一个对我有帮助......
我有一个多模型项目,其中 modA 依赖于 modB
现在我想运行
mvn dependency:copy-dependencies -am -pl modA
这应该复制 modA 的所有依赖项及其依赖的所有模块,例如 modB 的所有依赖项
问题是如果 .m2/repo 不包含 modB 的 jar,那么插件就会失败......为什么?
有趣的是,如果我只是在 .m2/repo/ 的适当位置创建一个空的“jar”文件,插件就足够成功,所以这只是证明我它甚至不查看 jar 的内容,但是它仍然需要它就位。怎么回事?...
第一个问题——为什么?
第二个问题 - 我如何绕过问题而不必真正生成罐子或“触摸”它们?(我有很多,这不实用......)
更新:天哪,我刚刚意识到我忘了添加一个有价值的部分......我不想复制 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 存在。
哦,好吧,也许这个问题只需要一个错误报告......