Плагин компилятора 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.
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:
Компилятор командной строки
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>
© 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