Spec-Zone.ru › Kotlin 2

Добавление Kotlin в проект Java – руководство

Kotlin полностью совместим с Java, поэтому вы можете постепенно внедрять его в существующие проекты Java, не переписывая всё целиком.

В этом руководстве вы узнаете, как:

  • Настроить инструменты сборки Maven или Gradle для компиляции кода на Java и Kotlin.

  • Организовать файлы исходного кода Java и Kotlin в каталогах проекта.

  • Преобразовать файлы Java в Kotlin с помощью IntelliJ IDEA.

Для этого руководства можно использовать любой существующий проект Java или клонировать наш общедоступный пример проекта, в котором уже настроены файлы сборки Maven и Gradle.

Вы также можете поручить преобразование выбранному AI-агенту, используя нашу подготовленную инструкцию. Имейте в виду, что результаты обработки с помощью AI не полностью предсказуемы.

Настройка проекта

Чтобы добавить Kotlin в проект Java, настройте проект для работы и с Kotlin, и с Java. Конкретные действия зависят от используемого инструмента сборки.

Настройка проекта обеспечивает правильную компиляцию кода на Kotlin и Java и их бесперебойное взаимодействие.

Maven

Начиная с версии IntelliJ IDEA 2025.3, при добавлении первого файла Kotlin в проект Java на базе Maven
IDE автоматически обновляет файл pom.xml, добавляя плагин Kotlin Maven и стандартные зависимости.
При необходимости вы можете настроить его вручную, чтобы изменить версии или этапы сборки.

Чтобы использовать Kotlin и Java вместе в проекте Maven, подключите плагин Kotlin Maven и добавьте зависимости Kotlin в файл pom.xml:

  1. В разделе <properties> добавьте свойство версии Kotlin:

        <properties>
            <kotlin.version>2.4.20</kotlin.version>
        </properties>
  2. В разделе <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>
  3. В разделе <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> не требуется.

  4. Перезагрузите проект Maven в IDE.

  5. Запустите тесты, чтобы проверить конфигурацию:

    ./mvnw clean test
    

Gradle

Чтобы использовать Kotlin и Java вместе в проекте Gradle, подключите плагин Kotlin JVM и добавьте зависимости Kotlin в файл build.gradle.kts:

  1. В блоке plugins {} добавьте плагин Kotlin JVM:

    plugins {
        // Other plugins
        kotlin("jvm") version "2.4.20"
    }
    
  2. Установите версию инструментальной цепочки JVM, соответствующую версии Java:

    kotlin {
        jvmToolchain(17)
    }
    

    Это гарантирует, что Kotlin будет использовать ту же версию JDK, что и код Java.

  3. В блоке dependencies {} добавьте библиотеку kotlin("test"), которая предоставляет утилиты для тестирования Kotlin и интегрируется с JUnit:

    dependencies {
        // Other dependencies
    
        testImplementation(kotlin("test"))
        // Other test dependencies
    }
    
  4. Перезагрузите проект Gradle в IDE.

  5. Запустите тесты, чтобы проверить конфигурацию:

    ./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.

Convert Java to Kotlin

Хотя конвертер не безупречен, в целом он довольно хорошо справляется с преобразованием большей части шаблонного кода 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

См. также

  • Подробности взаимодействия Kotlin и Java

  • Справочник по настройке сборки Maven

2 июня 2026 г.
Разработка серверной части на KotlinТестирование кода Java с помощью Kotlin и JUnit – руководство

© 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

Spec-Zone.ru

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