Добавление Kotlin в проект Java – руководство
Kotlin полностью совместим с Java, поэтому вы можете постепенно внедрять его в существующие проекты Java, не переписывая всё целиком.
В этом руководстве вы узнаете, как:
Настроить инструменты сборки Maven или Gradle для компиляции кода на Java и Kotlin.
Организовать файлы исходного кода Java и Kotlin в каталогах проекта.
Преобразовать файлы Java в Kotlin с помощью IntelliJ IDEA.
Настройка проекта
Чтобы добавить Kotlin в проект Java, настройте проект для работы и с Kotlin, и с Java. Конкретные действия зависят от используемого инструмента сборки.
Настройка проекта обеспечивает правильную компиляцию кода на Kotlin и Java и их бесперебойное взаимодействие.
Maven
Чтобы использовать Kotlin и Java вместе в проекте Maven, подключите плагин Kotlin Maven и добавьте зависимости Kotlin в файл pom.xml:
-
В разделе
<properties>добавьте свойство версии Kotlin:<properties> <kotlin.version>2.4.20</kotlin.version> </properties> -
В разделе
<dependencies>добавьте необходимые зависимости в раздел<plugins>:<dependencies> <!-- Add JUnit Jupiter engine for test runtime --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <scope>test</scope> </dependency> </dependencies> -
В разделе
<build><plugins>добавьте плагин Kotlin:<build> <pluginManagement><!-- Lock down plugin versions to avoid using Maven defaults (can be moved to a parent pom file) --> <!-- No maven-compiler-plugin needed with Kotlin extensions --> </plugins> <!-- Activate Kotlin Maven plugin for main and test sources --> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <extensions>true</extensions> </plugin> </plugins> </build>Включение
<extensions>true</extensions>в плагине Kotlin Maven позволяет:Автоматически добавлять зависимость
kotlin-stdlibв проект.Настраивать этапы выполнения так, чтобы сначала компилировался Kotlin, а затем Java.
Использовать код Kotlin в коде Java и наоборот.
Автоматически согласовывать целевую версию JVM с версией компилятора Java.
При использовании плагина Kotlin Maven с расширениями отдельный
maven-compiler-pluginв разделе<build><pluginManagement>не требуется. Перезагрузите проект Maven в IDE.
-
Запустите тесты, чтобы проверить конфигурацию:
./mvnw clean test
Gradle
Чтобы использовать Kotlin и Java вместе в проекте Gradle, подключите плагин Kotlin JVM и добавьте зависимости Kotlin в файл build.gradle.kts:
-
В блоке
plugins {}добавьте плагин Kotlin JVM:plugins { // Other plugins kotlin("jvm") version "2.4.20" } -
Установите версию инструментальной цепочки JVM, соответствующую версии Java:
kotlin { jvmToolchain(17) }Это гарантирует, что Kotlin будет использовать ту же версию JDK, что и код Java.
-
В блоке
dependencies {}добавьте библиотекуkotlin("test"), которая предоставляет утилиты для тестирования Kotlin и интегрируется с JUnit:dependencies { // Other dependencies testImplementation(kotlin("test")) // Other test dependencies } Перезагрузите проект Gradle в IDE.
-
Запустите тесты, чтобы проверить конфигурацию:
./gradlew clean test
Структура проекта
С такой конфигурацией можно размещать файлы Java и Kotlin в одних и тех же каталогах исходного кода:
src/
├── main/
│ ├── java/ # Java and Kotlin production code
│ └── kotlin/ # Additional Kotlin production code (optional)
└── test/
├── java/ # Java and Kotlin test code
└── kotlin/ # Additional Kotlin test code (optional)
Вы можете создать эти каталоги вручную или позволить IntelliJ IDEA создать их при добавлении первого файла Kotlin.
Плагин Kotlin автоматически распознаёт каталоги src/main/java и src/test/java, поэтому файлы .kt и .java можно хранить в одних и тех же каталогах.
Преобразование файлов Java в Kotlin
Плагин Kotlin также включает конвертер Java в Kotlin (J2K), который автоматически преобразует файлы Java в Kotlin. Чтобы применить J2K к файлу, выберите пункт Преобразовать файл Java в файл Kotlin в его контекстном меню или в меню Код IntelliJ IDEA.

Хотя конвертер не безупречен, в целом он довольно хорошо справляется с преобразованием большей части шаблонного кода Java в Kotlin. Однако иногда требуется внести некоторые изменения вручную.
Изучение плагинов компилятора
Если ваш проект сложнее и использует Spring или Java Persistence API (JPA), можно использовать плагины компилятора Kotlin, которые автоматически адаптируют языковые возможности Kotlin к требованиям фреймворков и сокращают объём шаблонного кода:
-
Плагин
all-openавтоматически делает классы и их членыopenпри использовании определённых аннотаций. Это особенно полезно для таких фреймворков, как Spring, которым требуются классы, не являющиеся final.Для Spring можно использовать специальный плагин
kotlin-spring, созданный на основеall-open. Он автоматически задаёт аннотации Spring. -
Плагин
no-argгенерирует дополнительный конструктор без аргументов для классов с определёнными аннотациями. Это позволяет JPA создавать экземпляры классов, у которых иначе не было бы конструктора по умолчанию.Также можно использовать плагин
kotlin-jpa, созданный на основеno-arg. Он автоматически задаёт аннотации для конструкторов без аргументов. Плагин
power-assertупрощает отладку, предоставляя подробные сообщения об ошибках с контекстной информацией для утверждений. Он показывает промежуточные значения и помогает понять, почему тест завершился с ошибкой.
Следующий шаг
Самый простой способ начать использовать Kotlin в проекте Java — сначала добавить тесты на Kotlin:
Добавьте первый тест на Kotlin в проект Java
См. также
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/mixing-java-kotlin-intellij.html