【问题标题】:Why is gradle creating a "java" directory under build为什么gradle在build下创建一个“java”目录
【发布时间】:2017-08-12 22:13:47
【问题描述】:

我使用 gradle init 创建了一个新的 Gradle 项目。我更改了很少的默认属性。对于较旧的项目,类将转到 [project-dir]/build/classes,但在我的新项目中,使用非常相似的 build.gradle 文件,类将转到 [project-dir]/build/java /类。 buildDir 的属性是 [project-dir]/build。那么 [project-dir]/build/java 来自哪里?我认为这导致我的类加载器出现问题。

【问题讨论】:

标签: gradle build.gradle gradlew


【解决方案1】:

(Nizet 用链接打败了我)

在主要版本的 Gradle 4 中,他们允许自己更改构建目录以支持多种 JVM 语言。它是在发布之前宣布的。

缓存安全的混合 JVM 语言编译在 Gradle 3.5 中,项目 同时使用 Java 和另一种 JVM 语言(如 Groovy 或 Scala)会 使用构建缓存时遇到问题。创建的类文件 由多个编译任务全部放入同一个输出 目录,它确定要为每个缓存的输出集 任务很困难,并且会导致 Gradle 缓存错误的输出 每个编译任务。

Gradle 现在为每种 JVM 语言使用单独的输出目录。

所以你将拥有 /build/java、build/scala 等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 2015-05-15
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多