将Maven工件上的Gradle项目依赖项重定向到另一个Gradle项目

将Maven工件上的Gradle项目依赖项重定向到另一个Gradle项目,gradle,dependencies,gradle-dependencies,Gradle,Dependencies,Gradle Dependencies,有没有办法将Gradle项目对Maven工件坐标的依赖重定向到同一构建中另一个Gradle项目的输出 我不认为依赖于像项目(':xyz')这样的东西有什么意义,因为这要求项目:xyz在我的文件系统和构建中,并且引用项目知道:xyz也在同一构建中。对我来说,更合理的做法是依赖Maven工件坐标,并使用从同一构建中指定匹配坐标的项目构建的工件,而不是从存储库下载工件 如果这个功能存在,或者如果我自己做的话,我会想象它将被实现为一个对象,可以在存储库闭包中列出,然后所有其他存储库,比如mavenCen

有没有办法将Gradle项目对Maven工件坐标的依赖重定向到同一构建中另一个Gradle项目的输出

我不认为依赖于像
项目(':xyz')
这样的东西有什么意义,因为这要求项目
:xyz
在我的文件系统和构建中,并且引用项目知道
:xyz
也在同一构建中。对我来说,更合理的做法是依赖Maven工件坐标,并使用从同一构建中指定匹配坐标的项目构建的工件,而不是从存储库下载工件


如果这个功能存在,或者如果我自己做的话,我会想象它将被实现为一个对象,可以在
存储库
闭包中列出,然后所有其他存储库,比如
mavenCentral()

都可以在本地存储库中发布
xyz

在项目
xyz
中,使用以下插件:

apply plugin: 'maven-publish'
只需运行
gradlepublishtoavenlocal

然后,在“根”项目中,除使用本地存储库外,还使用
xyz
作为常规依赖项:

repositories {
    mavenLocal()
}

dependencies {
    compile('your.company:xyz:1.0.0')
}

你要找的是。它将允许您定义一个构建包含另一个构建,因此Gradle指出依赖关系符号
group:name:version
将被包含的构建替换


但是,当项目属于同一个单元时,我仍然建议使用
项目(:xyz)
符号,这通常是源代码管理的一次签出。

但是我希望在IDE中使用源代码,在调试过程中可以编辑代码,在同一源文件中使用相同的断点,只有一个选项卡打开以查看类的源代码,等等。因此,
project(':xyz')
符号是您所需要的。我需要
project(':xyz')
提供的功能,但我不必指定对其他项目的依赖性,而不是对maven工件的依赖性。如果我有大量相互依赖的项目,我就不必在同一个构建中包含所有项目。如果我的构建包含一个为依赖项的坐标提供工件的项目,那么Gradle应该解析为该项目。如果我的构建中不存在任何项目,那么Gradle应该在我的存储库中解析到下一个repo。