Kotlin 从命令行编译和运行

亚历克斯·克拉夫特

如何编译和运行 kotlin 文件?没有 maven、gradle 或 kotlin-DSL-gradle,只有命令行选项。

我在play文件夹中有两个 kotlin 文件

用户.kt

data class User(val name: String)

玩.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 并使用缓存和增量编译,以使其更快?

阿拉迪维克

问题出在你的编译命令中,你只指定了一个编译文件(play.kt),所以编译器看到 play.kt 引用了 User.class,当然在你的类路径(-cp .)中找不到这个文件,因为之前没有编译这个文件,所以需要编译整个文件夹play,跳过-cp参数。

试试这个:kotlinc play/ -include-runtime -d play.jar && java -jar play.jar

关于缓存和增量编译 - 不,这不是 Kotlin 编译器 ( https://kotlinlang.org/docs/compiler-reference.html )的责任,您需要为此使用构建工具。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章