Kotlin编译器是否编译java文件?

时间:2018-04-01 20:22:33

标签: java kotlin

我有一个包含.java和.kt文件的项目。 Kotlin编译器是否编译.java和.kt文件,还是只编译我的.kt文件?

2 个答案:

答案 0 :(得分:8)

不,kotlinc仅编译Kotlin文件(.kt)。混合语言项目需要合并kotlincjavac。如果引用仅以一种方式流动,例如,如果Java代码引用Kotlin代码而不是相反,那么编译顺序很容易理解。在这种情况下,您将首先编译Kotlin代码,然后在编译Java代码时将类路径中的输出包含到javac

如果两者交织得更紧密,那就变得有点复杂了。查看this thread,您似乎需要首先运行kotlinc,传入任何引用的Java源文件(因为.class文件尚未可用) 。编译Java文件时,kotlinc构建的类文件可以包含在类路径中。

答案 1 :(得分:1)

本身并没有,但运行Kotlin编译器(根据其文档https://github.com/JetBrains/kotlin)的要求之一是JDK,所以如果你有Kotlin你也有javac