Appearance
Kotlin 插件
Kotlin JVM 插件为 Gradle 项目提供 Kotlin 编译支持。
基本配置
kotlin
plugins {
kotlin("jvm") version "1.9.22"
// 或完整 ID:
// id("org.jetbrains.kotlin.jvm") version "1.9.22"
}
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib")) // Kotlin 标准库
testImplementation(kotlin("test"))
}Kotlin 编译配置
kotlin
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf(
"-Xjsr305=strict", // 严格 null 检查(配合 Spring 注解)
"-Xjvm-default=all", // 接口默认方法
"-opt-in=kotlin.RequiresOptIn" // 实验性 API
)
apiVersion = "1.9"
languageVersion = "1.9"
}
}Kotlin + Spring Boot
kotlin
plugins {
kotlin("jvm") version "1.9.22"
kotlin("plugin.spring") version "1.9.22" // Spring 插件(自动 open 类)
kotlin("plugin.jpa") version "1.9.22" // JPA 插件(无参构造函数)
id("org.springframework.boot") version "3.2.0"
id("io.spring.dependency-management") version "1.1.4"
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
freeCompilerArgs += "-Xjsr305=strict"
jvmTarget = "17"
}
}Kotlin 与 Java 混合项目
kotlin
plugins {
kotlin("jvm") version "1.9.22"
java
}
sourceSets {
main {
kotlin { srcDirs("src/main/kotlin", "src/main/java") }
java { srcDirs("src/main/java") }
}
}下一步
- Android 插件简介 - Android 项目构建
- 构建 Kotlin 应用 - Kotlin 项目实战