我尝试使用 gradle 将 Kotlin 转换为 Js。当我从https://www.codeflow.site/fr/article/kotlin-javascript运行示例时,出现错误: 无法初始化来自行应用插件的类 org.jetbrains.kotlin.gradle.internal.KotlinSourceSetProviderImplKt: build.gradle 的“ kotlin2js ”。
我不知道缺少的类是什么以及为什么 kotlin2js 要求它。有什么建议吗?
我尝试使用 gradle 将 Kotlin 转换为 Js。当我从https://www.codeflow.site/fr/article/kotlin-javascript运行示例时,出现错误: 无法初始化来自行应用插件的类 org.jetbrains.kotlin.gradle.internal.KotlinSourceSetProviderImplKt: build.gradle 的“ kotlin2js ”。
我不知道缺少的类是什么以及为什么 kotlin2js 要求它。有什么建议吗?
通过在 build.gradle 文件中设置最新的 Kotlin 版本(1.3.72)解决了这个问题。
buildscript {
ext {
kotlinVersion = '1.4.20'
springBootVersion = '2.0.4.RELEASE'
}
repositories {
mavenCentral()
}
...
}
我只是有同样的问题。在 Windows 上,我从命令行检查了 kotlin 版本,gradle -v然后在我的项目的 build.gradle 中调整了 kotlin 版本以匹配我的gradle.
我希望这也适用于你。
就我而言,它解决了问题:
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
在 Android Studio 中:文件 -> 项目结构 -> 变量
在那里编辑kotlin_version例如1.3.72
Gradle 应该自动重新同步,否则手动重新同步
在 gradle.properties 文件中更新您的版本。例如)kotlinVersion=1.3.72
最简单的解决方案:
去file -> project structure (ctrl+shift+alt+s) -> suggestions -> accept all the suggestions.
要回答 OP 的问题,您只需要接受带有kotlin version
正如在使用 Gradle 构建 Kotlin 项目中所解释的,这似乎是不同 Ktlin 版本的问题,有时会因 NoClassDefFoundError 而失败
在您的build.gradle文件中,如果您将鼠标悬停在classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"它上面,它将根据您的 SDK/插件版本告诉您必须kotlinVersion在文件顶部的变量中使用哪个版本的 Kotlin。
我不知道我是否可以像 KP7984 所说的那样做 - 检查我的 Android Studio 插件的版本,而不是我的操作系统的插件版本。我使用gradlew -v我的项目而不是gradle -v它,它对我有用。