Компилятор Kotlin для командной строки
Каждый выпуск Kotlin поставляется с автономной версией компилятора. Вы можете скачать последнюю версию вручную или с помощью менеджера пакетов.
Установка компилятора
Установка вручную
Чтобы установить компилятор Kotlin вручную:
Скачайте последнюю версию (
kotlin-compiler-2.4.20.zip) со страницы выпусков GitHub.Распакуйте автономный компилятор в каталог и при желании добавьте каталог
kotlinc/binв системную переменную PATH. Каталог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 для JVM, которое выводит
"Hello, World!". Создайте в редакторе кода новый файл с именемhello.ktи добавьте в него следующий код:fun main() { println("Hello, World!") } -
Скомпилируйте приложение с помощью компилятора Kotlin:
kotlinc hello.kt -include-runtime -d hello.jar
Параметр
-dзадаёт путь для выходных файлов классов. Это может быть каталог или файл .jar.Параметр
-include-runtimeделает результирующий файл .jar автономным и запускаемым, включая в него библиотеку времени выполнения Kotlin.
Чтобы посмотреть все доступные параметры, выполните:
kotlinc -help
-
Запустите приложение:
java -jar hello.jar
Компиляция библиотеки
Если вы разрабатываете библиотеку для использования в других приложениях Kotlin, можно собрать файл .jar без включения в него библиотеки времени выполнения Kotlin:
kotlinc hello.kt -d hello.jar
Поскольку двоичные файлы, скомпилированные таким образом, зависят от библиотеки времени выполнения Kotlin, убедитесь, что она присутствует в пути к классам при использовании скомпилированной библиотеки.
Для запуска двоичных файлов, созданных компилятором Kotlin, также можно использовать скрипт kotlinr:
kotlinr -classpath hello.jar HelloKt
HelloKt — это имя главного класса, который компилятор Kotlin создаёт для файла с именем hello.kt.
Запуск REPL
Запустите компилятор с параметром -Xrepl, чтобы открыть интерактивную оболочку. В ней можно вводить любой допустимый код Kotlin и просматривать результаты.
Запуск скриптов
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–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/command-line.html