Gradle本地项目依赖性

Jos*_*h M 7 java gradle

我有2个Gradle项目都在同一目录中。目录结构如下:

ParentDirectory\
    GradleProjectA\
        build.gradle
    GradleProjectB\
        settings.gradle
        build.gradle
Run Code Online (Sandbox Code Playgroud)

我想添加GradleProjectA为的依赖项GradleProjectB。在settings.gradlefor中GradleProjectB,我尝试添加include 'GradleProjectA',然后在build.gradle:中,compile project(':GradleProjectA')但这没有用。

任何帮助将不胜感激。谢谢。

Pav*_*dka 7

我做这样的事情的方式如下:

GradleProjectB/settings.gradle

include ':GradleProjectA'
project(':GradleProjectA').projectDir = new File('../GradleProjectA')
Run Code Online (Sandbox Code Playgroud)

GradleProjectB/build.gradle

compile project(":GradleProjectA")
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一句,编译项目(“:GradleProjectA”)需要位于ProjectB的build.gradle的dependency{....}部分内 (3认同)
  • 抱歉,它给了我错误:`> 在项目 ':ProjB' 中找不到路径为 ':ProjA' 的项目。` 有什么建议吗?谢谢! (2认同)

Cos*_*iță 7

在最新版本的 Gradle 中,您可以使用Composite Builds,如下所示:

GradleProjectB 的 settings.gradle 中,添加以下行:

includeBuild "../GradleProjectA"

它将自动处理依赖冲突和所有这些东西。


Vam*_*ire -1

如果GradleProjectAGradleProjectB是一个多项目 Gradle 构建的一部分,那么您可能希望settings.gradleinParentDirectory和 there 包含 A 和 B。您使用的方式settings.gradle不正确。也许您应该重新阅读用户指南中有关多项目 gradle 构建的部分。

如果这两个项目是单独的项目,但您仍然想从 B 依赖 A,您可能更愿意构建 A,将其发布到某个存储库(可能是 mavenLocal 存储库),然后依赖项目 B 中构建的工件。