【问题标题】:Kotlin gradle Could not initialize class class org.jetbrains.kotlin.gradle.internal.KotlinSourceSetProviderImplKtKotlin gradle 无法初始化类 org.jetbrains.kotlin.gradle.internal.KotlinSourceSetProviderImplKt
【发布时间】:2020-07-05 02:17:52
【问题描述】:

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

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

【问题讨论】:

    标签: javascript gradle kotlin


    【解决方案1】:

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

    buildscript {
    ext {
        kotlinVersion = '1.4.20'
        springBootVersion = '2.0.4.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    ... 
    }
    

    【讨论】:

    • 这令人困惑:您可能根本不使用 kotlinVersion 变量,而是在其类路径行中硬编码版本号。我认为正确的答案至少应该包括类路径行。
    • 有很多方法可以声明要使用哪个 Kotlin 版本,它可以是类路径中的插件版本,如 "classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 或硬编码 "类路径 "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72" 或者它可以是插件会话中的 "kotlin("jvm") 版本 "1.3.72"。最重要的是旧的 Kotlin 版本(低于 1.3 .72 在我的情况下)号码是导致问题的原因。
    【解决方案2】:

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

    我希望这对你也有用。

    【讨论】:

    • 答案意味着您应该在grade-project 中更新kotlin_version,而不是grade-app。
    【解决方案3】:

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

    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

    【讨论】:

      【解决方案4】:

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

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

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

      祝你好运!

      【讨论】:

        【解决方案5】:

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

        kotlin_version 编辑为例如1.3.72

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            最简单的解决方案:

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

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

            【讨论】:

              【解决方案8】:

              这似乎是 Building Kotlin projects with Gradle sometimes fails with NoClassDefFoundError 中解释的不同 Ktlin 版本的问题

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                • 如果在尝试回答本页顶部的问题时无法阅读本文。这里隐藏了一些洞察力,但很多读起来像“我需要......”,“我的问题......”,“不能使用其他答案......”。所有这些都不是这里的答案。那么,请您edit 并专注于帮助回答此问题的部分吗?任何不属于答案的内容,您都可以在自己的帖子中发表评论。
                【解决方案10】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2020-09-30
                  • 2020-08-03
                  • 1970-01-01
                  • 2019-10-27
                  • 2021-09-15
                  • 2015-05-22
                  • 2016-08-01
                  相关资源
                  最近更新 更多