Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ivy makepom Ant目标中使用多个文件_Ant_Ivy - Fatal编程技术网

在Ivy makepom Ant目标中使用多个文件

在Ivy makepom Ant目标中使用多个文件,ant,ivy,Ant,Ivy,我的项目有多个基本独立的模块,每个模块都有自己的常春藤文件。有几个模块是“顶级”的,因为并没有什么依赖于它们,它们只依赖于其他模块 我想为这些模块生成一个pom,用于发布依赖项供我的用户使用 makepom任务仅通过ivyfile属性afaict接受单个文件。我创建了一个主模块,它声明它依赖于顶级模块,并提供给makepom,但它不包括顶级模块的依赖关系,它只列出顶级模块本身 我意识到我可以只提供几个pom文件,但为了我的理智,我宁愿只提供一个 因此,我想知道您是否可以通过某种方式将多个常春藤文

我的项目有多个基本独立的模块,每个模块都有自己的常春藤文件。有几个模块是“顶级”的,因为并没有什么依赖于它们,它们只依赖于其他模块

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

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

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


因此,我想知道您是否可以通过某种方式将多个常春藤文件传递给makepom任务,或者在我使用主常春藤文件时,是否有方法让它列出所有依赖项?或者在最坏的情况下,是否有一种简单的方法来合并pom文件,而不需要手动操作

如果这是一个文档问题,请配置每个模块以生成其可传递依赖项的报告,请参阅常春藤任务

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


也许您可以创建一个对每个子模块都有依赖关系的父ivy文件?

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

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


也许您可以创建一个依赖于每个子模块的父常春藤文件?

正如Mark O'Connor指出的那样,
任务在记录所有可传递的JAR方面做得非常好。运行时、编译等需要哪些


另一种可能是使用
将主模块使用的所有JAR检索到一个空目录中。即使您的项目本身不需要这样做。所需JAR的列表将是一个简单的目录列表。

正如Mark O'Connor指出的,
任务在记录所有可传递JAR方面做得非常好。运行时、编译等需要哪些


另一种可能是使用
将主模块使用的所有JAR检索到一个空目录中。即使您的项目本身不需要这样做。所需JAR的列表将是一个简单的目录列表。

Ivy(以及Maven和Gradle)的全部目的是不担心可传递的依赖关系。如果您已经正确配置了所有内容,那么您的
pom.xml
应该只列出顶级依赖项,而不列出其他内容。当Ivy(或Maven)获取这些顶级模块时,它将下拉这些依赖项。有什么我遗漏的吗?没有,我只是想把所有的东西都放在一个文件中,更像是一个文档工件,而不是任何东西——我们现在把它作为一个txt文件分发。该应用程序本身是封闭源代码的,因此不可能有人从Maven Central获取它。Ivy(以及Maven和Gradle)的全部目的不是担心可传递的依赖关系。如果您已经正确配置了所有内容,那么您的
pom.xml
应该只列出顶级依赖项,而不列出其他内容。当Ivy(或Maven)获取这些顶级模块时,它将下拉这些依赖项。有什么我遗漏的吗?没有,我只是想把所有的东西都放在一个文件中,更像是一个文档工件,而不是任何东西——我们现在把它作为一个txt文件分发。该应用程序本身是封闭源代码的,所以它不像有人能够从Maven Central获取它。我确实尝试创建了一个依赖于子模块的父ivy文件,并且这种方法很有效,我得到了一个pom,它说它依赖于这些模块,但没有列出它们的JAR。然后我必须对每个子模块进行POM。我意识到这可能是maven的方法,但我不想在发行版中提供22个POM。@Michael您最好的方法是基于父ivy文件生成依赖关系报告。这将获得所有依赖项。Maven parent POM很少向您提供完整信息。(Maven作为等效依赖项报告功能)我确实尝试创建了一个父ivy文件,该文件依赖于子模块,而且这种方法很有效,我得到了一个pom,它说它依赖于这些模块,但没有列出它们的JAR。然后我必须对每个子模块进行POM。我意识到这可能是maven的方法,但我不想在发行版中提供22个POM。@Michael您最好的方法是基于父ivy文件生成依赖关系报告。这将获得所有依赖项。Maven parent POM很少向您提供完整信息。(Maven作为等效依赖项报告功能)