74

我尝试使用 gradle 将 Kotlin 转换为 Js。当我从https://www.codeflow.site/fr/article/kotlin-javascript运行示例时,出现错误: 无法初始化来自行应用插件的类 org.jetbrains.kotlin.gradle.internal.KotlinSourceSetProviderImplKt: build.gradle 的“ kotlin2js

我不知道缺少的类是什么以及为什么 kotlin2js 要求它。有什么建议吗?

4

10 回答 10

137

通过在 build.gradle 文件中设置最新的 Kotlin 版本(1.3.72)解决了这个问题。

buildscript {
ext {
    kotlinVersion = '1.4.20'
    springBootVersion = '2.0.4.RELEASE'
}
repositories {
    mavenCentral()
}
... 
}
于 2020-05-11T16:26:06.787 回答
34

我只是有同样的问题。在 Windows 上,我从命令行检查了 kotlin 版本,gradle -v然后在我的项目的 build.gradle 中调整了 kotlin 版本以匹配我的gradle.

我希望这也适用于你。

于 2020-03-25T19:28:11.527 回答
28

就我而言,它解决了问题:

buildscript {
    ext.kotlin_version = "1.3.72"
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    }
}

设置ext.kotlin_version = "1.3.72"$kotlin_version

于 2020-06-19T00:27:57.610 回答
24

是的,正如许多人之前所说,问题可能是您的 kotlin 版本不匹配。但是你怎么知道安装了哪个版本的 kotlin?

要找出您的 kotlin 版本: 设置 -> 语言和框架 -> Kotlin

设置图片

确保将您的 kotlin 版本(在两个 build.gradle 文件中!)更改为这个确切的数字。在我的情况下(上图)它是 1.4.10

祝你好运!

于 2020-10-07T22:29:20.947 回答
14

在 Android Studio 中:文件 -> 项目结构 -> 变量

在那里编辑kotlin_version例如1.3.72

Gradle 应该自动重新同步,否则手动重新同步

于 2020-09-03T22:57:56.293 回答
7

在 gradle.properties 文件中更新您的版本。例如)kotlinVersion=1.3.72

于 2020-07-23T09:00:31.107 回答
3

最简单的解决方案:

file -> project structure (ctrl+shift+alt+s) -> suggestions -> accept all the suggestions.

要回答 OP 的问题,您只需要接受带有kotlin version

于 2020-10-22T15:31:20.003 回答
1

正如在使用 Gradle 构建 Kotlin 项目中所解释的,这似乎是不同 Ktlin 版本的问题,有时会因 NoClassDefFoundError 而失败

于 2020-04-23T14:23:37.697 回答
1

在您的build.gradle文件中,如果您将鼠标悬停在classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"它上面,它将根据您的 SDK/插件版本告诉您必须kotlinVersion在文件顶部的变量中使用哪个版本的 Kotlin。

于 2020-09-14T17:02:16.807 回答
1

我不知道我是否可以像 KP7984 所说的那样做 - 检查我的 Android Studio 插件的版本,而不是我的操作系统的插件版本。我使用gradlew -v我的项目而不是gradle -v它,它对我有用。

于 2020-06-25T19:30:46.297 回答