Kotlin gradle build неразрешенная ссылка на функции kotlin-stdlib



У меня есть следующий файл build.gradle для моего пакета



buildscript {
ext.kotlin_version = '1.2.21'

repositories {
jcenter()
mavenCentral()
}

dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-stdlib"
}
}

plugins {
id "org.jetbrains.kotlin.jvm" version "1.2.21"
}

sourceSets {
main.kotlin.srcDirs += "./"
}


При запуске gradle compileKotlin я получаю следующие ошибки



Starting a Gradle Daemon (subsequent builds will be faster)                                                                                                                                                           
e: /home/ishan/code/kotlin-server/server/ConnectionHandler.kt: (26, 35): Too many arguments for public constructor String() defined in kotlin.String
e: /home/ishan/code/kotlin-server/server/ConnectionHandler.kt: (26, 38): Unresolved reference: trim
e: /home/ishan/code/kotlin-server/server/ConnectionHandler.kt: (30, 29): Unresolved reference: isEmpty
e: /home/ishan/code/kotlin-server/server/ConnectionHandler.kt: (40, 9): Unresolved reference: print
e: /home/ishan/code/kotlin-server/server/ConnectionHandler.kt: (41, 9): Unresolved reference: print
e: /home/ishan/code/kotlin-server/server/ConnectionHandler.kt: (45, 9): Unresolved reference: println
e: /home/ishan/code/kotlin-server/server/HttpRequest.kt: (8, 19): Unresolved reference: HashMap
e: /home/ishan/code/kotlin-server/server/HttpRequest.kt: (16, 38): Unresolved reference: split
e: /home/ishan/code/kotlin-server/server/HttpResponse.kt: (22, 31): Unresolved reference: toByteArray
e: /home/ishan/code/kotlin-server/server/HttpStatusCodes.kt: (3, 22): Unresolved reference: HashMap
e: /home/ishan/code/kotlin-server/server/HttpStatusCodes.kt: (3, 45): Unresolved reference: hashMapOf
e: /home/ishan/code/kotlin-server/server/HttpStatusCodes.kt: (5, 9): Unresolved reference: to
e: /home/ishan/code/kotlin-server/server/HttpStatusCodes.kt: (6, 9): Unresolved reference: to
e: /home/ishan/code/kotlin-server/server/HttpStatusCodes.kt: (7, 9): Unresolved reference: to
e: /home/ishan/code/kotlin-server/server/HttpStatusCodes.kt: (8, 9): Unresolved reference: to


Когда я использую команду kotlinc -include-runtime для компиляции этого пакета, он компилируется без каких-либо проблем, и у меня даже есть рабочий файл .jar для него.



Чего мне здесь не хватает? Если вы хотите проверить больше, я также создал GitHub issue для этого со ссылками на соответствующий код.

640   2  

2 ответов:

Вам нужно поставить такую зависимость:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib"
}

На верхнем уровне, а не внутри buildscript:

buildscript {
    ext.kotlin_version = '1.2.21'

    repositories {
        jcenter()
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

plugins {
    id "org.jetbrains.kotlin.jvm" version "1.2.21"
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib"
}

sourceSets {
    main.kotlin.srcDirs += "./"
}

Как уже упоминалось, зависимость должна быть помещена в блок зависимостей вне buildscript. Однако вы также должны указать версию stdlib для использования:

buildscript{
    ...
}
dependencies{
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

Comments

    Ничего не найдено.