#kotlin
Вопрос:
Как я могу скомпилировать и запустить файлы kotlin? Без maven, gradle или kotlin-DSL-gradle, только параметры командной строки.
У меня есть два файла kotlin в play
папке
пользователь.kt
data class User(val name: String)
играть.кт
fun main() {
val user = User("Jim")
println("Hello ${user.name}")
}
Я пытаюсь запустить его как
kotlinc play.kt -cp . -include-runtime -d play.jar amp;amp; java -jar play.jar
play.kt:2:14: error: unresolved reference: User
val user = User("Jim")
Но он не может найти User
класс, хотя я установил -cp .
, как заставить его работать?
P.S.
Можно ли было бы избежать создания jar и использовать кэширование и инкрементную компиляцию, чтобы сделать это быстрее?
Ответ №1:
Проблема заключается в компиляции команды, вы указали только один файл для компиляции (игра.КТ), так что компилятор видит, что играть.КТ ссылки на User.class ну и конечно не могу найти этот файл в classpath (-CP в .), потому что вы не скомпилировать этот файл раньше, поэтому вам нужно скомпилировать всю папку игры и пропустить -СР параметр.
попробуйте это: kotlinc play/ -включить-время выполнения-d play.jar amp;amp; java -jar play.jar
Что касается кэширования и инкрементной компиляции — Нет, это не входит в обязанности компилятора Kotlin (https://kotlinlang.org/docs/compiler-reference.html), вам необходимо использовать инструменты сборки для этих целей.