Компилятор Kotlin командной строки
В каждом выпуске Kotlin поставляется автономная версия компилятора. Вы можете загрузить последнюю версию вручную или через менеджер пакетов.
Установка компилятора
Установка вручную
Загрузите последнюю версию (
kotlin-compiler-1.8.0.zip) с страницы релизов на GitHub.Распакуйте автономный компилятор в директорию и, необязательно, добавьте директорию
binв системный путь. Директорияbinсодержит скрипты, необходимые для компиляции и запуска Kotlin на Windows, macOS и Linux.
SDKMAN!
Более простой способ установки Kotlin на системах на основе UNIX, таких как macOS, Linux, Cygwin, FreeBSD и Solaris, — это SDKMAN!. Он также работает в оболочках Bash и ZSH. Узнайте, как установить SDKMAN!.
Чтобы установить компилятор Kotlin через SDKMAN!, выполните следующую команду в терминале:
sdk install kotlin
Homebrew
В качестве альтернативы, на macOS вы можете установить компилятор через Homebrew:
brew update brew install kotlin
Пакет Snap
Если вы используете Snap на Ubuntu 16.04 или более поздней версии, вы можете установить компилятор из командной строки:
sudo snap install --classic kotlin
Создание и запуск приложения
-
Создайте простое приложение на Kotlin, которое отображает
"Hello, World!". В вашем любимом редакторе создайте новый файл под названиемhello.ktсо следующими строками:fun main() { println("Hello, World!") } -
Скомпилируйте приложение с помощью компилятора Kotlin:
kotlinc hello.kt -include-runtime -d hello.jar
Опция
-dуказывает путь к выходному файлу с сгенерированными файлами .class, который может быть либо каталогом, либо файлом .jar. Опция-include-runtimeделает результирующий файл .jar автономным и исполняемым, включая в него библиотеку Kotlin Runtime.Чтобы увидеть все доступные опции, выполните
kotlinc -help
-
Запустите приложение.
java -jar hello.jar
Компиляция библиотеки
Если вы разрабатываете библиотеку, которую будут использовать другие приложения Kotlin, вы можете создать файл .jar без включения в него Kotlin Runtime:
kotlinc hello.kt -d hello.jar
Поскольку двоичные файлы, скомпилированные таким образом, зависят от Kotlin Runtime, убедитесь, что последняя присутствует в классе пути, когда ваша скомпилированная библиотека используется.
Вы также можете использовать скрипт kotlin для запуска двоичных файлов, сгенерированных компилятором Kotlin:
kotlin -classpath hello.jar HelloKt
HelloKt — это имя главного класса, которое компилятор Kotlin генерирует для файла под названием hello.kt.
Запуск REPL
Вы можете запустить компилятор без параметров, чтобы получить интерактивную оболочку. В этой оболочке вы можете вводить любой допустимый код Kotlin и видеть результаты.

Запуск скриптов
Kotlin также может использоваться как язык сценариев. Скрипт — это файл исходного кода Kotlin (.kts) с исполняемым кодом верхнего уровня.
import java.io.File
// Get the passed in path, i.e. "-d some/path" or use the current path.
val path = if (args.contains("-d")) args[1 + args.indexOf("-d")]
else "."
val folders = File(path).listFiles { file -> file.isDirectory() }
folders?.forEach { folder -> println(folder) }
Чтобы запустить скрипт, передайте опцию -script компилятору вместе с соответствующим файлом скрипта:
kotlinc -script list_folders.kts -- -d <path_to_folder_to_inspect>
Kotlin предоставляет экспериментальную поддержку настройки скриптов, например, добавления внешних свойств, предоставления статических или динамических зависимостей и т. д. Настройки определяются так называемыми определениями скриптов — аннотированными классами Kotlin с соответствующим вспомогательным кодом. Расширение имени файла скрипта используется для выбора соответствующего определения. Узнайте больше о настройке скриптов Kotlin.
Правильно подготовленные определения скриптов обнаруживаются и применяются автоматически, когда соответствующие JAR-файлы включены в путь компиляции. В качестве альтернативы вы можете указать определения вручную, передав опцию -script-templates компилятору:
kotlinc -script-templates org.example.CustomScriptDefinition -script custom.script1.kts
Дополнительные сведения см. в KEEP-75.
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/command-line.html