java - 从命令行运行 Java 到 Kotlin 转换器?

标签 java eclipse intellij-idea kotlin jetbrains-ide

您可以使用适用于 Intellij 和 Eclipse 的 Kotlin 插件将 Java 文件转换为 Kotlin。在没有这些 IDE 的情况下,是否可以通过命令行完成这种转换?

最佳答案

这似乎是可能的,但没有工具,只有代码。 j2k module中有测试在 Kotlin Github 存储库中,下面的示例取自 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 编写您自己的简单包装器以使其在文件上运行。


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

关于java - 从命令行运行 Java 到 Kotlin 转换器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494013/

相关文章:

intellij-idea - GO SDK的位置

android - Maven、IntelliJ Idea 和 Android 资源

java - list 中的 versionCode 必须随着每次小的更新而改变吗?

java - 提高 Lombok @Data 代码覆盖率

java - 是否可以更改 Intellij Idea 中 junit4 测试的默认类名模板?

java - 共享OpenGL资源: delete with finalize() or implement reference counting?

linux - Eclipse 在 elementaryOS 中崩溃

java - 为什么我的 Java 程序不能读取 Perl 的 STDERR?

java - 最短超弦

java - 如何使用 Mockito 在 Spring Boot 中模拟被测类的实现方法