Spec-Zone.ru › Kotlin 2

Плагин компилятора Lombok

Плагин компилятора Kotlin для Lombok позволяет Kotlin-коду генерировать объявления Java Lombok и использовать их в том же смешанном модуле Java/Kotlin. Если вы вызываете такие объявления из другого модуля, использовать этот плагин для компиляции этого модуля не нужно.

Плагин компилятора Lombok не заменяет Lombok, но помогает Lombok работать в смешанных модулях Java/Kotlin. Поэтому при использовании этого плагина вам всё равно нужно настроить Lombok как обычно. Подробнее о том, как настроить плагин компилятора Lombok.

Поддерживаемые аннотации

Плагин поддерживает следующие аннотации:

  • @Getter, @Setter

  • @Builder, @SuperBuilder

  • @NoArgsConstructor, @RequiredArgsConstructor и @AllArgsConstructor

  • @Data

  • @With

  • @Value

Мы продолжаем работу над этим плагином. Чтобы узнать подробнее о его текущем состоянии, посетите файл README плагина компилятора Lombok.

В настоящее время мы не планируем добавлять поддержку аннотации @Tolerate. Однако мы можем рассмотреть эту возможность, если вы проголосуете за задачу @Tolerate в YouTrack.

Компилятор Kotlin игнорирует аннотации Lombok, если вы используете их в коде Kotlin.

Gradle

Примените плагин Gradle kotlin-plugin-lombok в файле build.gradle(.kts):

plugins {
    kotlin("plugin.lombok") version "2.4.20"
    id("io.freefair.lombok") version "9.5.0"
}
plugins {
    id 'org.jetbrains.kotlin.plugin.lombok' version '2.4.20'
    id 'io.freefair.lombok' version '9.5.0'
}

См. этот тестовый проект с примерами использования плагина компилятора Lombok.

Использование файла конфигурации Lombok

Если вы используете файл конфигурации Lombok lombok.config, укажите путь к файлу, чтобы плагин мог его найти. Путь должен быть указан относительно каталога модуля. Например, добавьте следующий код в файл build.gradle(.kts):

kotlinLombok {
    lombokConfigurationFile(file("lombok.config"))
}
kotlinLombok {
    lombokConfigurationFile file("lombok.config")
}

См. этот тестовый проект с примерами использования плагина компилятора Lombok и lombok.config.

Maven

Чтобы использовать плагин компилятора Lombok, добавьте плагин lombok в раздел compilerPlugins, а зависимость kotlin-maven-lombok — в раздел dependencies. Если вы используете файл конфигурации Lombok lombok.config, укажите путь к нему для плагина в pluginOptions. Добавьте следующие строки в файл pom.xml:

<plugin>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-plugin</artifactId>
    <version>${kotlin.version}</version>
    <configuration>
        <compilerPlugins>
            <plugin>lombok</plugin>
        </compilerPlugins>
        <pluginOptions>
            <option>lombok:config=${project.basedir}/lombok.config</option>
        </pluginOptions>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-lombok</artifactId>
            <version>${kotlin.version}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</plugin>

См. этот пример тестового проекта с плагином компилятора Lombok и lombok.config.

Использование с kapt

По умолчанию плагин компилятора kapt запускает все процессоры аннотаций и отключает обработку аннотаций в javac. Чтобы запускать Lombok вместе с kapt, настройте kapt так, чтобы процессоры аннотаций javac продолжали работать.

Если вы используете Gradle, добавьте параметр в файл build.gradle(.kts):

kapt {
    keepJavacAnnotationProcessors = true
}

В Maven используйте следующие настройки, чтобы запускать Lombok с компилятором Java:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <annotationProcessorPaths>
            <annotationProcessorPath>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </annotationProcessorPath>
        </annotationProcessorPaths>
    </configuration>
</plugin>    

Плагин компилятора Lombok корректно работает с kapt, если процессоры аннотаций не зависят от кода, сгенерированного Lombok.

Ознакомьтесь с примерами тестовых проектов, в которых используются kapt и плагин компилятора Lombok:

  • Для Gradle.

  • Для Maven

Компилятор командной строки

JAR-файл плагина компилятора Lombok входит в бинарный дистрибутив компилятора Kotlin. Чтобы подключить плагин, укажите путь к его JAR-файлу с помощью параметра kotlinc Xplugin:

-Xplugin=$KOTLIN_HOME/lib/lombok-compiler-plugin.jar

Если вы хотите использовать файл lombok.config, замените <PATH_TO_CONFIG_FILE> путём к вашему lombok.config:

# The plugin option format is: "-P plugin:<plugin id>:<key>=<value>". 
# Options can be repeated.

-P plugin:org.jetbrains.kotlin.lombok:config=<PATH_TO_CONFIG_FILE>
16 марта 2026 г.
Плагин компилятора kaptПлагин компилятора No-arg

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

Spec-Zone.ru

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