Spec-Zone.ru › Kotlin 2

Устранение неполадок в Dokka Gradle

На этой странице описаны распространённые проблемы, с которыми можно столкнуться при создании документации с помощью Dokka в сборке Gradle.

Если вашей проблемы нет в списке, сообщите о своих отзывах или проблемах в нашем трекере проблем или пообщайтесь с сообществом Dokka в официальном Kotlin Slack. Получить приглашение в Slack можно здесь.

Проблемы с памятью

В крупных проектах Dokka может потреблять значительный объём памяти для создания документации. Это может превышать ограничения Gradle по памяти, особенно при обработке больших объёмов данных.

Если во время создания документации Dokka заканчивается память, сборка завершается с ошибкой, а Gradle может выбросить исключения, например java.lang.OutOfMemoryError: Metaspace.

В настоящее время ведётся работа над повышением производительности Dokka, хотя некоторые ограничения связаны с Gradle.

Если у вас возникли проблемы с памятью, попробуйте следующие обходные решения:

  • Увеличение объёма памяти кучи

  • Запуск Dokka в процессе Gradle

Увеличение объёма памяти кучи

Один из способов решить проблемы с памятью — увеличить объём памяти кучи Java для процесса генератора Dokka. В файле build.gradle.kts измените следующий параметр конфигурации:

    dokka {
        // Dokka generates a new process managed by Gradle
        dokkaGeneratorIsolation = ProcessIsolation {
            // Configures heap size
            maxHeapSize = "4g"
        }
    }

В этом примере максимальный размер кучи установлен равным 4 ГБ ("4g"). Измените значение и протестируйте его, чтобы найти оптимальную настройку для вашей сборки.

Если окажется, что Dokka требуется значительно увеличить размер кучи, например, намного больше, чем требуется самому Gradle, создайте задачу в репозитории Dokka на GitHub.

Эту настройку необходимо применить к каждому подпроекту. Рекомендуется настроить Dokka в плагине соглашений, применяемом ко всем подпроектам.

Запуск Dokka в процессе Gradle

Если для сборки Gradle и создания документации Dokka требуется много памяти, они могут выполняться как отдельные процессы, потребляя значительный объём памяти на одном компьютере.

Чтобы оптимизировать использование памяти, можно запускать Dokka в том же процессе Gradle, а не как отдельный процесс. Это позволяет настроить память для Gradle один раз, вместо того чтобы выделять её отдельно для каждого процесса.

Чтобы запускать Dokka в том же процессе Gradle, измените следующий параметр конфигурации в файле build.gradle.kts:

    dokka {
        // Runs Dokka in the current Gradle process
        dokkaGeneratorIsolation = ClassLoaderIsolation()
    }

Как и в случае с увеличением объёма памяти кучи, протестируйте эту настройку, чтобы убедиться, что она хорошо подходит для вашего проекта.

Подробнее о настройке памяти JVM для Gradle см. в документации Gradle.

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

Кроме того, проблемы Gradle с конфигурацией ClassLoaderIsolation() могут приводить к утечкам памяти.

18 декабря 2025 г.
Параметры конфигурации Dokka GradleПереход на плагин Dokka Gradle версии 2

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

Spec-Zone.ru

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