gpt4 book ai didi

java - gradle - 项目作为依赖项

转载 作者:行者123 更新时间:2023-11-30 06:03:34 25 4
gpt4 key购买 nike

我的Java项目结构如下:

- root-directory (has no .gradle file)
- project_1
- build.gradle
- settings.gradle
- project_2
- build.gradle
- settings.gradle
- project_3
- build.gradle
- settings.gradle

project_2 依赖于 project_1,此依赖关系定义如下:

- project_2/build.gradle
implementation(project(":project_1"))
- project_2/settings.gradle
include(":project_1")
project(":project_1").projectDir = new File("../project_1")

并且,project_3 依赖于 project_2,并且此依赖关系定义如下:

- project_3/build.gradle
implementation(project(":project_2"))
- project_3/settings.gradle
include(":project_2")
project(":project_2").projectDir = new File("../project_2")

现在,当我通过在 ./project_3/ 目录中运行 >> ./gradlew build 终端命令构建 project_3 时,出现以下错误发生:

A problem occurred evaluating project ':project_2'.
> Project with path ':project_1' could not be found in project ':project_2'.

我希望能够从它自己的目录构建每个项目。我该如何解决这个问题?

更新:我尝试通过添加以下内容将根目录转换为项目根目录:

- root-directory/settings.gradle
rootProject.name = "root"
include(":project_1", ":project_2", ":project_3")
- root-directory/build.gradle
// Nothing in this file

并从所有子项目的 settings.gradle< 中删除了 project(":project_#").projectDir = new File("../project_#") 文件。但即使在此之后,每个单独项目目录中的构建命令也不起作用。

最佳答案

不要在模块级build gradle中定义include(":project_1/2/3"),而是使用根项目的settings.gradle 定义这个...

include ":project_1", ":project_2", ":project_3"
rootProject.name = "SomeApp"

然后您可以在模块级build.gradle中引用这些子项目:

dependencies {
api project(':project_1')
implementation project(':project_2')
}

关于java - gradle - 项目作为依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51808521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com