【问题标题】:Maven: copy dependency and its transitive jars into corresponding folderMaven:将依赖项及其传递罐子复制到相应的文件夹中
【发布时间】: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 作为通常的依赖项制作一个单独的模块,所以你在类路径上有它。

标签: java maven jar


【解决方案1】:

我认为这是不可能的。但是您可以编写自己的 maven 插件来扩展依赖插件来实现这一点。

我认为这不应该那么复杂..

如果我有时间,我会自己试试这个……但我不能保证……

Mojo 开发者手册 http://docs.codehaus.org/display/MAVENUSER/Mojo+Developer+Cookbook

其他链接:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多