Gradle Wrapper17 Mar 2025 | 5 分钟阅读 Gradle Wrapper 允许我们使用指定的版本和设置来运行构建,而无需安装 Gradle。这个 Wrapper 可以被认为是 Windows 上的批处理脚本和其他操作系统上的 shell 脚本。当我们使用 Wrapper 调用 Gradle 时,它会自动下载和构建指定的版本。 大多数软件在使用前需要在计算机上安装。在计算机上安装任何工具都会给用户带来不必要的负担。检查用户是否安装了正确的版本也很重要。 Gradle Wrapper 克服了所有这些问题,并且受到所有开发人员的青睐,可以启动 Gradle 构建。 Gradle 执行的构建过程独立于已安装的版本。因此,Wrapper 是启动 Gradle 构建的首选方式。我们可以根据需要创建 Wrapper 脚本。 下图演示了 Gradle 的工作流程 ![]() 我们可以找到 UNIX 系统的 gradlew 文件和 Windows 系统的 gradlew.bat 文件。这些文件充当 Gradle 命令,因此如果计算机上未安装 Gradle,则会自动下载并安装。 也可以定义一个任务,用于定义 Wrapper 的版本。如果执行此任务,它将创建 Wrapper 并下载正确版本的 Gradle。 Gradle Wrapper 的优点以下是使用 Gradle Wrapper 的一些优点
我们将使用第一个 Gradle Wrapper 完成以下操作
添加 Gradle WrapperGradle 带有内置的任务,称为 wrapper。执行此任务时,它会在项目中生成必要的 Wrapper 文件。要将 Wrapper 添加到项目中,请按如下方式运行 Wrapper 命令 输出 ![]() 上面的命令将为我们的项目提供 Wrapper,并在目录 gradle/wrapper/gradle-wrapper.properties 中生成 Wrapper 属性文件。 ![]() gradle-wrapper properties 文件的内容如下 此文件包含有关 Gradle 发行版的以下信息
注意:如果我们想与其他开发人员和执行环境共享 Wrapper 文件,则必须将它们推送到版本控制中。通常,包括 JAR 文件在内的 Wrapper 文件尺寸较小。建议将 JAR 文件添加到版本控制中。但是,有些公司不允许项目将二进制文件提交到版本控制。那时,除了这种方法之外,没有其他选择。可以使用命令行在生成 Wrapper 文件期间配置所有以上方面。 以下命令用于指定用于下载和执行 Wrapper 的 Gradle 版本 以下命令用于指定 Wrapper 使用的 Gradle 发行版类型。可用选项为 bin 和 all,默认值为“bin” 以下命令用于指向 Gradle 发行版 zip 文件的完整 URL 考虑以下示例来解释命令行选项的使用。我们希望创建版本为 6.1 的 Wrapper,并使用 -all 发行版 来使我们的 IDE 能够启用代码完成并能够导航到 Gradle 源代码。以下命令可以满足这些要求 上面的命令将创建一个版本为 6.1 的 Wrapper。 如何使用 Gradle Wrapper建议使用 Wrapper 执行项目的构建,以确保构建的标准,控制和可靠执行。Wrapper 执行构建,几乎就像使用 Gradle 安装执行构建一样。我们可以根据我们的操作系统运行 gradlew 或 gradlew.bat 命令,而不是 Gradle 命令。以下命令演示了如何在 Windows 计算机上为基于 Java 的项目使用 Wrapper 输出 ![]() 如果 Gradle 发行版在计算机上不可用,Wrapper 将下载并使其可供我们使用,并将其存储在本地文件系统中。 由于 Gradle 属性中的发行版 URL 没有更改,因此随后的构建调用将重用现有的本地发行版。 更新 Gradle Wrapper软件必须进行更新才能与最新版本保持连接,从而获得新功能和改进的优势。我们还可以通过更改 Wrapper 属性文件中的发行版 URL 属性来手动升级 Gradle 版本。 但是,建议通过 Wrapper 任务升级 Wrapper 版本,并传递指定的 Gradle 版本。Wrapper 任务可确保对 Wrapper shell 脚本进行的任何优化都应用于该项目,尽管我们必须将这些更改提交到 Wrapper 文件以进行版本控制。 Gradle Wrapper 任务用于为指定版本生成 Wrapper。默认情况下,它将考虑安装的版本。 要将 Gradle Wrapper 升级到指定版本,请运行以下命令 上面的命令会将项目升级到 Gradle 版本 6.1。考虑以下输出 ![]() 我们可以通过执行以下命令来检查指定的版本 自定义 Gradle WrapperGradle 的默认运行时行为非常好,但是我们可以自定义 Gradle。安全约束可能需要为使用 Gradle 的组织自定义 Wrapper。但是,内置的 Wrapper 任务提供了许多选项来创建我们需要的运行时行为。 假设我们不想重复使用 -all 选项,这样我们可以节省一些键盘输入。为此,我们可以重新配置 Wrapper 任务。将以下代码段添加到 下一个主题Gradle 多项目构建 |
我们请求您订阅我们的新闻通讯以获取最新更新。