Компилятор Kotlin для командной строки
Каждый релиз Kotlin поставляется с автономной версией компилятора. Вы можете загрузить последнюю версию (kotlin-compiler-1.7.20.zip) с GitHub Releases.
Установка компилятора
Установка вручную
Разархивируйте автономный компилятор в каталог и, по желанию, добавьте каталог 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указывает путь к выходному каталогу для сгенерированных файлов классов, который может быть либо каталогом, либо файлом .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–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/command-line.html