在开发 JVM 专案时,有时会遇到这些实务问题:
这对团队开发来说增加了复杂度,有可能因不同版本的 Gradle 而增加建置失败的风险。
为了避免这种 Gradle 大乱斗的问题,Gradle 官方推出了一种名为 Gradle Wrapper 的方案,其作法就是在专案里放一个可携的脚本,这个脚本可以指定专案使用的 Gradle 版本,并在使用前自动下载并载入执行环境里。使用 Gradle Wrapper 带来几个好处:
这种使用 Gradle Wrapper 的方式,已变成官方建议的标准作法。
虽然大多数的专案在建立时都已经预设采用 Gradle Wrapper,但假如是维护旧专案,需要导入 Gradle Wrapper 时,可以透过指令让专案支援 Wrapper:
$ gradle wrapper
当专案安装好 Gradle Wrapper 後,目录结构会看起来像这样:
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── build.gradle.kts
├── settings.gradle.kts
├── gradlew
└── gradlew.bat
gradlew
及 gradlew.bat
是分别给 Unix-like 及 Windows 作业系统用的执行脚本gradle/wrapper/gradle-wrapper.jar
是下载 Gradle 执行档的核心程序gradle/wrapper/gradle-wrapper.properties
则是用来纪录 Wrapper 的设定档,比方说 Version、Distribution Type(all
或 bin
)等当我们使用 Gradle Wrapper 时,就不再是使用之前提到的 gradle
指令,而是依照作业系统改用 ./gradlew
或 gradlew.bat
指令。Gradle Wrapper 会依照 gradle/wrapper/gradle-wrapper.properties
的设定值,到 Gradle 官网下载对应版本的 Gradle 执行档下来,以类似 Portable 的方式来执行各种指令。Gradle Wrapper 的运作流程可以参考官网的这张说明:
假如手上专案使用的 Gradle Wrapper 版本过旧想要升级,Gradle 也有对应的升级指令:
$ ./gradlew wrapper --gradle-version 7.2
看到这边您可能会很疑惑,既然 Gradle 官方都推荐使用 Gradle Wrapper 了,那我们还需要在本机安装 Gradle 吗?(而且还学了 5 种方式耶!)
答案是:看情况。
假如您只需要维护已经装好 Gradle Wrapper 的专案的话,那的确是不需要在本机安装 Gradle。反之,假如你会需要在本机用 Gradle 建立一个全新的专案的话,那就还是得安装 Gradle 喔!
当然,还是有几个例外。假如您是使用 IntelliJ IDEA 或 Android Studio 来建立专案的话,这些 IDE 都已经内建 Gradle,所以本机就可以不用安装 Gradle。另外也提醒一下,即便 Gradle Wrapper 可以很聪明方便的下载与运行 Gradle,但开发机上该有的 JDK 执行环境还是要有喔!
>>: # Day 5 Supporting PMUs on RISC-V platforms (一)
话说今天本来是打算要接着昨天的进度纪录架设 grafana 的 dashboard,可是昨天半夜 d...
先简单回顾一下,今天预计分析两个题目: Remove Duplicates from Sorted ...
决定好学习方向後(台科大资安研究社社课为主),发现他的课程有连续性,直接一口气买了110年上下两个学...
1328. Break a Palindrome https://leetcode.com/prob...