gpt4 book ai didi

gradle - 将项目(模块)声明为另一个项目(另一个模块)中的依赖项但失败

转载 作者:行者123 更新时间:2023-12-04 07:15:36 27 4
gpt4 key购买 nike

我创建了一个名为my-root-project的gradle项目,在这个项目下还有另外两个gradle项目:sharedmy-service.

在我的 IntelliJ IDE 中,我添加了 sharedmy-service 作为 my-root-project 的模块。项目结构总体如下所示:

-my-root-project

-shared
-build.gradle
-settings.gradle

-my-service
-build.gradle
-settings.gradle

-build.gradle
-settings.gradle
...

my-root-projectsettings.gradle 中,我有:

rootProject.name = 'my-root-project'
include ':shared'
include ':my-service'

my-servicebuild.gradle 中,我想添加 shared 作为它的项目依赖:

...
dependencies {
implementation project(':shared')
}

但是我得到错误:

A problem occurred evaluating root project 'my-service'.
> Project with path ':shared' could not be found in root project 'my-service'.

然后,我尝试在 my-servicesettings.gradle 中包含 shared。 (上面我已经包含在my-root-projectsettings.gradle中了)。

然后,再次构建但出现新错误:

Could not resolve project :shared.
Required by:
project :

Possible solution:
- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

我哪里错了?我想让 shared 项目成为 my-service 的依赖项。

最佳答案

听起来您正在从 my-service 项目目录中运行 Gradle 命令。由于该项目包含一个 settings.gradle 文件,因此 Gradle 将该项目视为根项目。在这个“根项目”下,没有名为 shared 的子项目,因此 Gradle 会报错并显示您看到的错误:

A problem occurred evaluating root project 'my-service'.
> Project with path ':shared' could not be found in root project 'my-service'.

我建议更改两件事情(但其中任何一件都可以让您摆脱错误):

  1. 在多项目构建中应该只有一个 settings.gradle 文件 – 在根项目中,即您的 my-root-project。如果你看the Gradle docs for multi-project builds ,然后您会看到每个示例项目层次结构中只有一个 settings.gradle 文件。
  2. 我会从根项目目录运行所有 Gradle 命令。如果需要在子项目中运行任务,则使用任务的完整路径,例如:./gradlew :my-service:check
    您可以在 the Gradle docs 中找到有关在多项目构建中执行任务的更多信息.

关于gradle - 将项目(模块)声明为另一个项目(另一个模块)中的依赖项但失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68791520/

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