似乎问题是 _maven.repositories 文件与我公司的特定 maven 设置相结合。
我们不会将有关本地 repo 的信息放在我们的 settings.xml 中。这一切都在我们所有项目使用的父 pom 中。但是如果你想做一些纯粹的 mvn-CLI 魔法,你没有 parent-pom,所以你必须自己提供本地 repo 的 URL。这可以通过dependecy:get 目标实现,这就是为什么我能够将我的工件从我们的Nexus 下载到我的本地repo 中。
但是,当使用copy时,您不能指定 URL。但我为什么要这样做?我刚刚将该工件下载到我的本地存储库中,对吗?
这就是_maven.repositories文件发挥作用的地方。即使使用 -o 开关,maven3 也会查询该文件,该文件指定工件来自的原始存储库。(感谢这个帖子中的人发布他们的发现!)。如果它无法到达 repo,它将声称您的文件不存在。(顺便说一句,这对恕我直言没有帮助。它应该说明原始仓库无法访问,因此不会复制该文件。)
这就是为什么复制对我不起作用的原因。
只需重命名该文件即可。
不过,我将不得不研究一个更清洁的解决方案。
更复杂的是,我不能使用dependency:copy 或dependency:copy-dependecies。由于某些原因,他们需要一个 pom,而我的用例中没有。起作用的是 org.apache.maven.plugins:maven-dependency-plugin:2.8:copy 我相信它应该是同一件事,但这是另一回事。
感谢您的回答!