我目前正在IntelliJ中使用Kotlin、Jetpack Compose和Gradle开发一个桌面项目。我在构建阶段遇到了一个问题,我收到了以下错误消息:
Kotlin: The provided plugin androidx.compose.compiler.plugins.kotlin.ComposeComponentRegistrar is not compatible with this version of compiler.
java.lang.AbstractMethodError: Receiver class androidx.compose.compiler.plugins.kotlin.ComposeComponentRegistrar does not define or inherit an implementation of the resolved method 'abstract void registerProjectComponents(com.intellij.mock.MockProject, org.jetbrains.kotlin.config.CompilerConfiguration)' of interface org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar.
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.registerExtensionsFromPlugins$cli(KotlinCoreEnvironment.kt:666)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$ProjectEnvironment.registerExtensionsFromPlugins(KotlinCoreEnvironment.kt:168)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.configureProjectEnvironment(KotlinCoreEnvironment.kt:569)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:198)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:107)
这是我的建筑。gradle。kts:
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
kotlin("multiplatform")
id("org.jetbrains.compose")
}
group = "com.example"
version = "1.0-SNAPSHOT"
repositories {
google()
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
kotlin {
jvm {
jvmToolchain(11)
withJava()
}
sourceSets {
val jvmMain by getting {
dependencies {
implementation(compose.desktop.currentOs)
}
}
val jvmTest by getting
}
}
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "demo"
packageVersion = "1.0.0"
}
}
}
以下是我的www.example.com文件的当前设置gradle.properties(我尝试了不同的设置,但没有成功):
kotlin.code.style=official
kotlin.version=1.8.0
agp.version=7.3.0
compose.version=1.3.0
我尝试使用不同版本的Kotlin和Jetpack Compose,但仍然遇到相同的错误。重要的是要注意,如果编译,程序可以正确运行。我希望项目能够成功构建,没有任何错误。
1条答案
按热度按时间ekqde3dh1#
当Kotlin编译器和Compose编译器插件的版本不匹配时会发生此错误。要修复此错误,您需要确保Kotlin编译器和Compose编译器插件的版本兼容。
在您的情况下,您使用的是Kotlin1.8.0,这不是有效的版本。您应该将版本更新到最新的稳定版本,目前是1.6.10。
此外,由于您使用的是Jetpack Compose 1.3.0版本,因此您应该使用与其兼容的Compose编译器插件版本。根据Compose文档,Compose编译器插件1.0.5版本与Jetpack Compose 1.3.0版本兼容。
要修复此错误,您可以将gradle.properties文件更新为以下内容:
然后,更新build.gradle.kts文件以使用Compose编译器插件的1.0.5版本:
更新文件后,请同步Gradle项目,然后再次尝试构建。这应该可以解决错误。