Spec-Zone.ru › Kotlin 2

Настройка компилятора Kotlin для проекта Maven

kotlin-maven-plugin позволяет настроить компилятор Kotlin для проектов Maven. Вы можете указать параметры компилятора, выбрать стратегию выполнения и включить инкрементальную компиляцию.

Указание параметров компилятора

Вы можете указать дополнительные параметры и аргументы компилятора в виде элементов в разделе <configuration> узла плагина Kotlin Maven:

<plugin>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-plugin</artifactId>
    <version>${kotlin.version}</version>
    <extensions>true</extensions> <!-- If you want to enable automatic addition of executions to your build -->
    <executions>...</executions>
    <configuration>
        <nowarn>true</nowarn> <!-- Disable warnings -->
        <args>
            <arg>-Xjsr305=strict</arg> <!-- Enable strict mode for JSR-305 annotations -->
            ...
        </args>
    </configuration>
</plugin>

Многие параметры также можно настроить с помощью свойств:

<project>
    <properties>
        <kotlin.compiler.languageVersion>2.4</kotlin.compiler.languageVersion>
    </properties>
</project>

Поддерживаются следующие атрибуты:

Атрибуты, специфичные для 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

Управляет тем, какие API Kotlin может использовать ваш код. Подробнее см. в разделе -api-version.

"2.0", "2.1", "2.2", "2.3", "2.4", "2.5" (ЭКСПЕРИМЕНТАЛЬНО)

sourceDirs

Каталоги, содержащие исходные файлы для компиляции

Корневые каталоги исходного кода проекта

compilerPlugins

Включенные плагины компилятора

[]

pluginOptions

Параметры плагинов компилятора

[]

args

Дополнительные аргументы компилятора

[]

jvmTarget

kotlin.compiler.jvmTarget

Целевая версия JVM для сгенерированного байт-кода. Определяет только версию байт-кода на выходе и не ограничивает API JDK, которые может использовать ваш код.

"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 вместо JDK JAVA_HOME по умолчанию

jdkToolchain

kotlin.compiler.jdkToolchain

Задать версию JDK, используемую из набора инструментов. Влияет только на компиляцию Kotlin

Выбор стратегии выполнения

По умолчанию Maven использует стратегию выполнения компилятора — демон Kotlin. Чтобы переключиться на стратегию «в процессе», задайте следующее свойство в файле pom.xml:

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

Подробнее о различных стратегиях см. в разделе Стратегия выполнения компилятора.

Включение инкрементальной компиляции

Чтобы ускорить сборку, можно включить инкрементальную компиляцию, добавив свойство kotlin.compiler.incremental:

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

Также можно запустить сборку с параметром -Dkotlin.compiler.incremental=true.

Что дальше?

Упаковка проекта

13 июля 2026 г.
Настройка репозиториев и зависимостей в проекте MavenУпаковка приложения Maven

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/maven-kotlin-compiler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API