1

我的项目有多个大部分独立的模块,每个模块都有自己的 Ivy 文件。一些模块是“顶级的”,因为它们不依赖于它们,它们只依赖于其他模块。

我想为这些模块生成一个 pom,用于发布依赖项供我的用户使用。

ivyfilemakepom 任务仅通过属性 afaict接受单个文件。我创建了一个主模块,它声明它依赖于顶级模块并将其提供给 makepom,但它不包含顶级模块的依赖关系,它只列出顶级模块本身。

我意识到我可以只提供几个 pom 文件,但为了我的理智,我宁愿只保留一个。

所以我想知道你是否可以以某种方式将多个 Ivy 文件传递​​给 make pom 任务,或者当我使用主 Ivy 文件时,是否有办法让它列出所有依赖项?或者在最坏的情况下,有没有一种简单的方法来合并 pom 文件而无需手动操作?

4

2 回答 2

1

如果这是文档问题,请配置每个模块以生成其传递依赖关系的报告,请参阅 ivy报告任务。

makepom任务只接受一个参数,因为就像 Maven 项目一样,模块只有一个文件来声明其依赖项

也许您可以做的是创建一个依赖于每个子模块的父 ivy 文件?

于 2012-11-20T22:08:16.863 回答
0

正如 Mark O'Connor 所指出的,该<ivy:report>任务在记录所有可传递 jar 方面做得非常出色。运行时、编译等需要哪些。

另一种可能性是<ivy:retrieve>用于将 Master 模块使用的所有 jar 检索到一个空目录中。即使您的项目本身不需要这样做。所需 jar 列表将是一个简单的目录列表。

于 2012-11-21T05:22:45.450 回答