【发布时间】:2015-03-05 21:58:43
【问题描述】:
在 Maven 中是否有一种方法可以为每个依赖项复制其下载的 jar(包括传递的 jar)到以该依赖项的 artifactId 命名的文件夹中?
例如,我有一个带有 artifactId apple 的依赖项将下载 a.jar, b.jar,另一个依赖项 banana 将下载 c.jar, d.jar,我如何配置 pom.xml 以便在我调用 mvn dependency:copy-dependencies ,在/target/dependency/下,这些jar包会被下载到对应的依赖文件夹中。
例如,当你调用树依赖时,你有这样的:
dependency/
├── apple
│ ├── a.jar
│ └── b.jar
└── banana
├── c.jar
└── d.jar
【问题讨论】:
-
你能解释一下这样做的原因吗?您可以使用 appassembler-maven-plugin 在可定义的文件夹下创建存储库....这不会创建您想要的文件夹结构...
-
基本上我想要一个扩展模块来下载可选依赖项,以便我可以选择将它们中的任何一个添加到类路径中。在这种情况下,如果我想添加
apple依赖,我可以将apple文件夹的路径放入类路径中。使用这种结构,所有的 jar 都会被分组到它们对应的依赖文件夹中。 -
一个可选的依赖项通常不在类路径中,那么为什么需要它们呢?用于检测?此外,如果工件具有被您的两个工件使用的依赖项,那么您的结构就有缺点,您将它们复制到这种结构中...我建议使用适当的工件
apple作为通常的依赖项制作一个单独的模块,所以你在类路径上有它。