如何在命令行中运行Java到Kotlin转换器?

15
你可以使用Intellij和Eclipse的Kotlin插件将Java文件转换为Kotlin。是否可以在没有这些IDE的情况下通过命令行完成此转换?
1个回答

13

看起来是可以的,但没有工具,只能编写代码。在 Kotlin 的 Github 存储库中,j2k 模块 中有测试,下面的示例取自 tests (AbstractJavaToKotlinConverterSingleFileTest)

private fun fileToKotlin(text: String, settings: ConverterSettings, project: Project): String {
    val file = createJavaFile(text)
    val converter = JavaToKotlinConverter(project, settings,
                                          IdeaReferenceSearcher, IdeaResolverForConverter)
    return converter.filesToKotlin(listOf(file), J2kPostProcessor(formatCode = true)).results.single()
}

我想,你可以将那个模块制作成一个 .jar 文件,并编写自己的简单包装器来使 JavaToKotlinConverter 在文件上工作。


更新:代码已经迁移到 intellij-community 仓库,你可以在这里找到相关测试:https://github.com/JetBrains/intellij-community/blob/2382372993bee233bc6fce95c3917a68a33da111/plugins/kotlin/j2k/new/tests/test/org/jetbrains/kotlin/nj2k/AbstractNewJavaToKotlinConverterSingleFileTest.kt


感谢您的回答和代码指针,@hotkey。非常感谢。 - Travis Spencer
@TravisSpencer,不客气。如果您对答案满意,能否接受它以将问题标记为已解决? - hotkey
@hotkey,你回答中的链接已经失效了。你知道类似的东西在哪里可以找到吗? - Alexander Poleschuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接