如何编译和运行 kotlin 文件?没有 maven、gradle 或 kotlin-DSL-gradle,只有命令行选项。
我在 play
文件夹中有两个 kotlin 文件
user.kt
data class User(val name: String)
play.kt
fun main() {
val user = User("Jim")
println("Hello ${user.name}")
}
我尝试运行它
kotlinc play.kt -cp . -include-runtime -d play.jar && java -jar play.jar
play.kt:2:14: error: unresolved reference: User
val user = User("Jim")
但是它找不到User
类,即使我设置了-cp .
,如何使它工作?
附言
是否可以避免构建 jar 并使用缓存和增量编译来使其更快?
答案 0 :(得分:3)
问题出在你的编译命令中,你只指定了一个编译文件(play.kt),所以编译器看到play.kt引用了User.class,当然在你的类路径中找不到这个文件(< strong>-cp .),因为之前没有编译这个文件,所以需要编译整个文件夹play,跳过-cp参数。< /p>
试试这个:kotlinc play/ -include-runtime -d play.jar && java -jar play.jar
关于缓存和增量编译 - 不,这不是 Kotlin 编译器 (https://kotlinlang.org/docs/compiler-reference.html) 的责任,您需要为此使用构建工具。