【发布时间】:2020-06-04 05:52:32
【问题描述】:
在使用 buildSrc 时,我正在努力从子项目中执行 gradle 任务。
项目结构如下:
root
buildSrc
src
main
kotlin
Dependencies.kt
build.gradle.kts
soa
SoaProject1
settings.gradle.kts
build.gradle.kts
SoaProject2
settings.gradle.kts
build.gradle.kts
tools
ToolProject1
ToolProject2
settings.gradle.kts
build.gradle.kts
根 settings.gradle.kts 如下所示:
include(
":SoaProject1",
":SoaProject2"
)
project(":SoaProject1").projectDir = File("soa/SoaProject1")
project(":SoaProject2").projectDir = File("soa/SoaProject2")
在 SoaProject 的 build.gradle.kts 文件之一中,例如我有以下依赖:
dependencies {
implementation("log4j:log4j:${Versions.log4j}")
}
导入/刷新 gradle 项目正在 Intellij 中运行,并且依赖项已下载。但是,当我尝试从子项目执行 gradle 任务时,我收到 unresolved reference Versions 错误。
Dependencies.kt 包含 Versions 类,它看起来像这样:
object Versions {
const val log4j = "1.2.16"
}
所以在我看来,gradle 可以找到依赖项和 Versions 类,但由于某种原因,子项目的任务无权访问 buildSrc?
有没有人暗示可能缺少什么或我可以尝试什么?
感谢您的帮助!
问候 西蒙
【问题讨论】:
-
谢谢,但不幸的是它没有帮助我。但是,我确实注意到,当“中间”文件夹也通过添加 gradle.build.kts 文件成为项目时,它似乎可以工作。如果父级不是直接上一级,可能子项目会混淆?
标签: gradle kotlin intellij-idea build dependencies