如何将KotlinPoet依赖项添加到简单的控制台应用程序中



我正在编写一个简单的控制台应用程序,它应该在执行时生成一些kotlin代码。我遇到了一个奇怪的问题,我无法添加KotlinPoen依赖。我的建筑.gradle:

plugins {
id 'java-library'
id 'kotlin'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation group: 'com.squareup', name: 'kotlinpoet', version: '1.7.2'
}

但在PoetApp.kt中,导入失败,返回消息Unresolved reference: squareup:

import com.squareup.kotlinpoet.FunSpec
object PoetApp {
@JvmStatic
fun main(vararg param: String) {
val main = FunSpec.builder("main")
.addCode("""
|var total = 0
|for (i in 0 until 10) {
|    total += i
|}
|""".trimMargin())
.build()
}
}

您已经声明Java与1.7版本兼容,但此版本的kotlinpoeter只能与1.8及更高版本兼容,请参阅库gradle文件,以及此处解决的一些兼容性问题。

所以你的build.gradle应该是这样的:

plugins {
id 'java-library'
id 'kotlin'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation group: 'com.squareup', name: 'kotlinpoet', version: '1.7.2'
}

最新更新