如何替换java-library与Kotlin模块中已废弃的kotlinOptions?
解决Java库模块中
kotlinOptions废弃的Gradle配置方案 在使用java-library+kotlin插件的JVM库模块中,原有的kotlinOptions配置已被废弃,需改用compilerOptions替代,以下是两种正确的配置方式:
方式一:全局配置所有Kotlin编译任务(推荐)
该配置会应用到项目中所有Kotlin编译任务(包括主代码和测试代码的编译任务),适合统一设置编译器参数:
// build.gradle apply plugin: "java-library" apply plugin: "kotlin" // ... 其他依赖、兼容性配置保持不变 ... kotlin { compilerOptions { jvmTarget.set(Config.compatibleJavaVersion) // 对应原jvmTarget配置 freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn") // 替代原freeCompilerArgs的+=写法 } }
方式二:仅针对主代码编译任务配置
如果只需要调整主代码的Kotlin编译参数,可单独配置compileKotlin任务:
// build.gradle apply plugin: "java-library" apply plugin: "kotlin" // ... 其他依赖、兼容性配置保持不变 ... compileKotlin { compilerOptions { jvmTarget.set(Config.compatibleJavaVersion) freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn") } }
关键说明
- 纯JVM的
kotlin插件已废弃kotlinOptions属性,改用类型安全的compilerOptions接口,所有参数通过setter方法或属性操作。 kotlin-android插件暂未移除kotlinOptions的兼容支持,因此Android模块不会出现废弃警告,但其最终也会向compilerOptions过渡。
内容的提问来源于stack exchange,提问作者JJD
相关产品推荐
相关产品推荐

