Gradle 7.2升级至7.3后IntelliJ插件构建报Val cannot be reassigned错误
解决方案
问题根源
Gradle 7.3 对 org.jetbrains.intellij 插件的 changelog 配置语法做了调整,原来的直接赋值写法不再适用——新版本中 version、groups 这类属性是只读的 Val 类型,必须改用函数式配置方式赋值。
具体修复步骤
修改 changelog 配置块写法:
你之前的错误写法大概是这样:changelog { version = "1.0.0" groups = listOf("Feature", "Bug Fix") }替换为 Gradle 7.3 兼容的函数式赋值:
changelog { version.set("1.0.0") groups.set(listOf("Feature", "Bug Fix")) }原因是新版本插件将配置属性改为
Property类型,必须通过set()方法赋值,不能直接用等号。同步插件版本:
确保org.jetbrains.intellij插件版本与 Gradle 7.3 兼容,建议在build.gradle.kts中指定兼容版插件:plugins { id("org.jetbrains.intellij") version "1.13.3" // 其他插件配置... }验证修复效果:
执行命令./gradlew clean build重新构建项目,检查错误是否消失。如果仍有类型不匹配提示,确认groups传入的是List<String>类型的值,不要传入其他类型数据。
额外说明
你之前查到的 classDirectories 问题是另一种场景,和本次 changelog 配置错误无关,无需寻找该字段。本次问题的核心是插件配置语法随 Gradle 版本升级发生了变化。
内容的提问来源于stack exchange,提问作者Takeshi Tokugawa YD
相关产品推荐
相关产品推荐

