Gradle-构建项目结构

标签 gradle gradlew

我看到很多 Gradle 构建的 Java/Groovy 项目示例,它们具有以下结构:

some-app/
    src/
        main/
        test/
    docs/
    README.md
    build.gradle
    gradlew
    gradlew.bat
    settings.gradle
    gradle.properties
    gradle/
        *.gradle

我了解 build.gradle 是主要的构建脚本,而 gradle.properties 是它的属性文件。但是 settings.gradle 真的把我扔了。在里面我看到:
rootProject.name = "someApp"

但这似乎属于 gradle.properties .我也想知道 gradlew 在哪里和 gradlew.bat文件来自哪里,它们似乎是生成的。

最后,我想知道为什么有这么多 *.gradle gradle/ 下的文件dir:是这些插件,还是某种扩展脚本。他们都是从主build.gradle拉进来的像这样:
apply "gradle/fizz.gradle"
apply "gradle/buzz.gradle"
etc.

所以:
  • settings.gradle 中应该包含哪些属性不应该进入gradle.properties ?
  • gradlew 怎么样?/gradlew.bat生成的文件?
  • 为什么会有这么多不同的*.gradle文件?为什么不只是 1 大 build.gradle构建脚本?
  • 最佳答案

    1) gradle.properties是普通的属性文件,而 settings.gradle也是一个构建脚本。您可以在那里添加一些将在构建期间执行的代码。当您有一个多模块项目时,通常需要此文件。

    2) 当您输入 gradle tasks 时在项目构建目录中(空的 build.gradle 足以看到它)你会看到 wrapper任务。此任务用于生成您要询问的脚本。更多 info .

    3)原因是所有这些文件都有不同的职责,它们被完全分开。

    关于Gradle-构建项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25137071/

    相关文章:

    batch-file - Flutter : App Build Failed, ProcessException - gradlew.bat”异常退出:

    android - 通过执行单个任务命令为所有模块运行 Ktlint

    gradle - 如何防止gradlew下载任何东西?

    java - 如何安装libgdx项目

    java - jdk1.8.0_152.jdk/Contents/Home/bin/java''完成,返回值非零255

    gradle - 如何配置多模块 gradle build 以便最后构建模块

    gradle - 将Ant转换为Gradle正则表达式任务

    android - Android Studio Gradle同步无法解决

    java - Gradlew 不会在 IDEA 16.2 中添加对我的外部库(类路径)的依赖项

    android - javafx 移植的应用程序性能不佳