使用Gradle编译Java之前/之后的Scala

使用Gradle编译Java之前/之后的Scala

问题描述:

默认scala插件任务流在Scala之前编译Java,因此在Java中导入Scala源会导致错误:找不到符号。

The default scala plugin task flow compiles Java before Scala so importing Scala sources within Java causes "error: cannot find symbol".

我发现下面的sourceSet配置来解决这个问题:

I found the following sourceSet config to fix the problem:

sourceSets {
    main {
        scala {
            srcDirs = ['src/main/scala', 'src/main/java']
        }
        java {
            srcDirs = []
        }
}

这是因为scala源集合可以包括java和scala来源。

This because the scala source set can include both java and scala sources.