11.2.4 为你的 Maven 项目配置 Kotlin 编译器
3 分钟阅读
原文链接: https://kotlinlang.org/docs/maven-kotlin-compiler.html
11.2.4 为你的 Maven 项目配置 Kotlin 编译器
kotlin-maven-plugin 让你可以为 Maven 项目配置 Kotlin 编译器。你可以指定编译器选项、选择执行策略,并启用增量编译。
指定编译器选项
你可以在 Kotlin Maven 插件节点的 <configuration> 部分,以元素的形式为编译器指定额外的选项和参数:
| |
许多选项也可以通过属性来配置:
| |
支持以下属性:
JVM 特有的属性
| 名称 | 属性名 | 说明 | 可能取值 | 默认值 |
| nowarn | | 不生成任何警告 | true、false | false |
| languageVersion | kotlin.compiler.languageVersion | 控制在编译期间可以使用哪些 Kotlin 语言特性和语法。更多信息请参阅 -language-version。 | “2.0”、“2.1”、“2.2”、“2.3”、“2.4”、“2.5”(实验性) | |
| apiVersion | kotlin.compiler.apiVersion | 控制你的代码可以使用哪些 Kotlin API。更多信息请参阅 -api-version。 | “2.0”、“2.1”、“2.2”、“2.3”、“2.4”、“2.5”(实验性) | |
| sourceDirs | | 包含待编译源文件的目录 | | 项目的源根目录 |
| compilerPlugins | | 启用的编译器插件 | | [] |
| pluginOptions | | 编译器插件的选项 | | [] |
| args | | 额外的编译器参数 | | [] |
| jvmTarget | kotlin.compiler.jvmTarget | 生成字节码的目标 JVM 版本。它只控制输出的字节码版本,并不限制你的代码可以使用哪些 JDK API。 | “1.8”、“9”、“10”、…、“26” | “1.8” |
| jdkRelease | kotlin.compiler.jdkRelease | 目标 JVM 版本。它控制字节码版本,并把可用 API 限制为指定的 JDK 版本,从而避免意外使用更新的 API。等价于 Java 的 --release 编译器选项。 | “1.8”、“9”、“10”、…、“26” | |
| jdkHome | kotlin.compiler.jdkHome | 把指定位置的自定义 JDK 加入 classpath,而不是使用默认的 JAVA_HOME | | |
| jdkToolchain | kotlin.compiler.jdkToolchain | 设置要从工具链使用的 JDK 版本。只影响 Kotlin 编译 | |
选择执行策略
默认情况下,Maven 使用 Kotlin 守护进程的编译器执行策略。要切换到 “in process” 策略,请在 pom.xml 文件中设置以下属性:
| |
关于不同策略的更多信息,请参阅编译器执行策略。
启用增量编译
为了让构建更快,你可以通过添加 kotlin.compiler.incremental 属性来启用增量编译:
| |
或者,用 -Dkotlin.compiler.incremental=true 选项运行你的构建。