gpt4 book ai didi

gradle - Gradle 构建中 Unresolved Kotlin 扩展函数引用

转载 作者:行者123 更新时间:2023-12-02 12:43:58 25 4
gpt4 key购买 nike

我有使用 Kotlin 编写的所有代码的多项目 Gradle 构建。其中有两个项目:common 和 client。子项目位于中间文件夹中,例如“demo”。所以文件夹结构是:

project
demo
client
build.gradle
common
build.gradle
build.gradle
gradle.properties
settings.gradle

settings.gradle:
rootProject.name = 'demo'

include 'demo/client'
include 'demo/common'

客户依赖共同项目 compile project(":demo/common") .并且在普通项目中有一个扩展功能:
fun <T> List<Future<T>>.getAll(): Long {
var count = 0L
this.forEach {
it.get()
count++
}
return count
}

如果我尝试在客户端项目中使用它,我会得到 Unresolved reference: getAll编译时的异常。用法:
...
import org.sandbox.imdg.hazelcast.common.utils.getAll

class CassLoader {

fun loadCalcData(): Long {
...
val futures: List<Future<CalcData>> = items.map { map.putAsync(it.getKey(), it) }
return futures.getAll()
}
}

同时,如果我把 getAll客户项目中的声明。我很确定函数的导入是正确的,但同时我对 Gradle 有一点经验,所以可能会遗漏一些东西。
  • 构建:gradlew clean build
  • Kotlin :1.0.2
  • 梯度:2.9

  • UPD:问题出在文件夹结构中(或者可能是我声明依赖项错误......) - 如果我删除中间文件夹演示,则一切正常。

    最佳答案

    好的,问题出在 gradle.settings 中包含的错误子项目中。应该

    include 'demo:common'
    include 'demo:client'

    代替
    include 'demo/common'
    include 'demo/client'

    然后是依赖 compile project(":demo:common") .

    关于gradle - Gradle 构建中 Unresolved Kotlin 扩展函数引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37480287/

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