【发布时间】:2021-09-24 09:36:05
【问题描述】:
我有一个用 Java 编写的后端服务,它使用 Spring Boot 作为框架,并借助 Lombok 作为注释处理器(用于生成样板代码),我使用 Gradle 构建。 我想以渐进且相当保守的方式将 Kotlin 引入该服务。也就是说,我想重写控制器,当机会出现时,那些控制器使用的代码等等向下调用堆栈,直到整个服务被重写。另外,我想保持严格的依赖规则:我的 Java 代码绝不会调用 Kotlin 代码。
关于 Gradle,我希望我的 Java 代码首先由 Java 编译器编译。我不希望 Kotlin 编译器接触这段代码,而只是依赖编译的类。我尝试为 Gradle 使用 Kotlin 插件(org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21),但它以这样一种方式影响了我的构建,即任务 compileKotlin 首先出现
Found task graph: org.gradle.execution.taskgraph.DefaultTaskExecutionGraph@782f578b
Found 29 tasks.
task ':compileKotlin'
task ':compileJava'
我希望它更像
task ':compileJava'
task ':compileKotlin'
我是否可以建立编译任务的顺序,以便在单模块 Gradle 项目中首先编译 Java?制作两个独立的模块是唯一的选择吗?
【问题讨论】: