Gradle:如何将 kotlin 和 java 保存在同一个源文件夹中?

pio*_*rek 5 java gradle kotlin

我想在同一个文件夹中包含 kotlin 和 java 文件,例如:

src/main/xxx/JavaClass.java
src/main/xxx/KotlinClass.kt

src/test/xxx/JavaTestClass.java
src/test/xxx/KotlinTestClass.kt
Run Code Online (Sandbox Code Playgroud)

我不在乎xxxkotlin, java, whatever。我只想让所有文件在一个地方提供单一功能,并进行交叉引用/交叉编译。

我如何在 gradle 中配置它?

Mar*_*ler 1

=是错误的操作员;+=可用于扩展类路径。

sourceSets {
    main.java.srcDirs += "src/main/kotlin"
}
Run Code Online (Sandbox Code Playgroud)

引用单独的模块仍然比引用同一模块更可靠:

a) 因为某些 Gradle DSL 是 Java 或 Kotlin 特定的。

b) 测试运行者不关心其他技术。

增加更多的复杂性(库模块)几乎不能解决问题;但在这种情况下,它绕过了它 - 因为它允许另一个build.gradle和测试运行程序。否则这是不可能的。