Ste*_*ven 7 maven-2 maven-dependency-plugin
我肯定错过了什么.我搜索和搜索,玩和修改,我仍然无法弄清楚如何使用Maven执行以下操作:
我想从我们的内部Nexus服务器下载一个工件及其所有依赖项(和传递依赖项)到用户指定的位置.这里的想法是允许将解决方案部署到生产中的人员能够轻松地在一个地方获取他们需要的所有jar文件.
有依赖:得到,这是接近但没有雪茄.依赖:get,根据每个工件的groupId和artifactId,将所有工件下载到本地mvn存储库中的目录下.这不是我想要的,因为那时你必须绕过所有这些目录来获取罐子.我希望将所有文件下载到一个目录中,以便它们位于一个位置.
然后是依赖:copy-dependencies.这几乎可以做到我想要的; 它将所有工件的deps复制到目标/依赖项中.这有两个问题:1)你需要一个pom.xml; 你不能像依赖项那样指定任意坐标:get,和2)依赖:copy-dependencies不会将主工件本身复制到目标/依赖项中.
必须有更好的方法来做到这一点,但我无法弄清楚在哪里寻找解决方案.总而言之,我希望能够为某人提供一组maven坐标(groupId:artifactId:version)和我们的内部Nexus URL,并让他们用一个命令将所有内容下载到他们选择的目录中.
如果你“想给某人一组 Maven 坐标”,最好将它们放在一个特殊的 pom.xml 中(你必须将它们写在任何地方)。该 pom 不是“主要工件”的 pom,但具有“主要工件”作为依赖项。打包类型可以是,pom因为该项目本身不会创建任何artifcat。
然后使用dependency:copy-dependencies您已经评估过的解决方案,您将获得所需的所有依赖项。恕我直言,这是一个优雅而简单的解决方案。我不知道还有什么更好的。