Skip to content

为 Maven 项目配置 Kotlin 编译器

kotlin-maven-plugin 允许您为 Maven 项目配置 Kotlin 编译器。 您可以指定编译器选项、选择执行策略并启用增量编译。

指定编译器选项

您可以在 Kotlin Maven 插件节点的 <configuration> 部分中,通过元素为编译器指定额外的选项和参数:

xml
<plugin>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-plugin</artifactId>
    <version>${kotlin.version}</version>
    <extensions>true</extensions> <!-- 如果您想在构建中启用自动添加 execution -->
    <executions>...</executions>
    <configuration>
        <nowarn>true</nowarn> <!-- 禁用警告 -->
        <args>
            <arg>-Xjsr305=strict</arg> <!-- 为 JSR-305 注解启用严格模式 -->
            ...
        </args>
    </configuration>
</plugin>

许多选项也可以通过属性进行配置:

xml
<project>
    <properties>
        <kotlin.compiler.languageVersion>2.3</kotlin.compiler.languageVersion>
    </properties>
</project>

支持以下属性:

JVM 专属属性

名称属性名称描述可能的值默认值
nowarn不产生警告true, falsefalse
languageVersionkotlin.compiler.languageVersion提供与指定 Kotlin 版本的源代码兼容性"1.9", "2.0", "2.1", "2.2", "2.3", "2.4" (实验性)
apiVersionkotlin.compiler.apiVersion仅允许使用指定版本捆绑库中的声明"1.9", "2.0", "2.1", "2.2", "2.3", "2.4" (实验性)
sourceDirs包含要编译的源文件的目录项目源根目录
compilerPlugins已启用的编译器插件[]
pluginOptions编译器插件选项[]
args额外的编译器参数[]
jvmTargetkotlin.compiler.jvmTarget生成的 JVM 字节码的目标版本"1.8", "9", "10", ..., "25""1.8"
jdkHomekotlin.compiler.jdkHome将指定位置的自定义 JDK 包含到类路径中,而不是默认的 JAVA_HOME

选择执行策略

默认情况下,Maven 使用 Kotlin daemon 编译器执行策略。要切换到“进程内 (in process)”策略,请在 pom.xml 文件中设置以下属性:

xml
<properties>
    <kotlin.compiler.daemon>false</kotlin.compiler.daemon>
</properties>

有关不同策略的更多信息,请参阅编译器执行策略

启用增量编译

为了加快构建速度,您可以通过添加 kotlin.compiler.incremental 属性来启用增量编译:

xml
<properties>
    <kotlin.compiler.incremental>true</kotlin.compiler.incremental>
</properties>

或者,在运行构建时使用 -Dkotlin.compiler.incremental=true 选项。

下一步

打包您的项目