从命令行编译Kotlin和Java混合代码
我想开始向我的Java项目添加一些Kotlin。要做到这一点,我需要能够从命令行编译Java和Kotlin文件,这与不同类型的文件相互依赖无关,例如A.Java依赖于B.kt,而B.kt又依赖于C.Java 有没有办法不用Gradle、Maven等来实现这一点从命令行编译Kotlin和Java混合代码,kotlin,Kotlin,我想开始向我的Java项目添加一些Kotlin。要做到这一点,我需要能够从命令行编译Java和Kotlin文件,这与不同类型的文件相互依赖无关,例如A.Java依赖于B.kt,而B.kt又依赖于C.Java 有没有办法不用Gradle、Maven等来实现这一点 编辑以澄清感谢@Nikita指出我不清楚是否希望java和Kotlin文件都位于同一源代码树中要实现这一点,您需要运行两个步骤 运行kotlinctargeting*.kt文件。在类路径上添加所有必需的java源。注意目的地的位置 运行j
编辑以澄清感谢@Nikita指出我不清楚是否希望java和Kotlin文件都位于同一源代码树中要实现这一点,您需要运行两个步骤
kotlinc
targeting*.kt
文件。在类路径上添加所有必需的java源。注意目的地的位置javac
targeting*.java
文件。将步骤1创建的*.class
文件添加到类路径*.class
文件的组合
下面是一篇关于的文档,请记住首先编译Kotlin,然后从第一步开始使用Kotlin构建类路径编译Java 简单地说:
1. kotlinc ./src/* -d ./buildTmp
2. javac ./src/**.java -d ./buildTmp -classpath ./buildTmp
为什么不使用构建工具呢?我也很感兴趣,因为我想在内存中编译混合的java/kotlin源文件@Ben Haiton你有什么最新消息吗?嗯,我无法让你的解决方案发挥作用。如果我运行类似于:
kotlinc src/***.kt-classpath src/***.java-d dist
的程序,那么我会得到一个类似于:error:source条目不是Kotlin文件:src/java/SomethingElse.java
。似乎有效的是kotlincsrc/**/-d dist
,后面是javacSorry。我不认为在一个源代码树中混合了kotlin和java文件。谢谢你的跟进