【发布时间】:2013-06-19 18:56:53
【问题描述】:
我的(新)Gradle 项目依赖于一个 Maven 项目,该项目是具有许多子项目的父 Maven 项目的子项目。请注意,我只关心那里的一个小子项目,而不关心该父项的其他内容。
麻烦的是,Gradle 沿着 Maven 项目树向上走,当它在父 pom 中看到“dependencyManagement”而不是按原样对待它时 - 该父项的任何和所有子项目的依赖项“已批准版本”列表,它实际上假设它们是我关心的子项目/子项目的所有实际依赖项......这给我的 Gradle 项目带来了太多的东西。
我目前正在通过明确排除所有那些我目前知道不是目前(再次)不需要的依赖项来解决,但我不想这样做这意味着我必须使我的项目与该父级的所有个项目保持基本同步。
这是 Gradle 1.6。我可能对这些 Maven 项目的结构有一些(很少)影响,但最好不需要这样的东西,我可以以某种方式告诉 Gradle 以应有的方式行事......怎么办?
请帮忙!
编辑 1
依赖是通过一个 Maven 存储库。我拥有的依赖项是由 Maven 构建和部署到 Maven 存储库的项目的子项目。
我也在 Gradle 论坛上问过这个问题:http://forums.gradle.org/gradle/topics/8mftwmyn8uu75?rfm=1
【问题讨论】:
-
如何使 Maven 模块对 Gradle 可用?你检查过 Maven 模块的有效 POM 吗?
-
通过 maven 存储库。我依赖于由 Maven 构建并部署到 Maven 存储库的项目的工件。
-
我之前没有听说过 Gradle 将
dependencyManagement部分解释为实际依赖项。我最好的猜测是 POM 和/或父 POM 有问题,但是如果没有看到它们,很难说。 PS:请不要在这里和forums.gradle.org重复发帖。 -
我刚刚尝试使用“org.springframework:spring-core:3.1.4.RELEASE”(将“org.springframework:spring-parent:3.1.4.RELEASE”声明为它的父级),但它按预期工作。为了进一步调查,我需要一个独立的可重现示例。
-
你是对的。我更彻底地查看了该父项目的一个非常长的 pom,其中列出了实际的依赖项。所以换句话说,我的坏(他们的坏)......
标签: gradle