Gradle 101

  1. 确保团队使用统一的 gradle 版本。
    避免 Gradle 的版本兼容性问题,项目中应使用 gradldw 命令运行。因为 gradlew 会根据 gradle-wrapper.properties 定义的 gradle 分发 dizhi 去下载 gradle 到本地。

    在 build.gradle 中定义如下 task,生成两个文件:gradlew、gradlew.bat,一个目录:gradle。

     task genWrapper(type: Wrapper){
       gradleVersion='5.3.1'
       distributionUrl='https://services.gradle.org/distributions/gradle-5.3.1-all.zip'
       distributionBase='GRADLE_USER_HOME'
       distributionPath='wrapper/dists'
       archiveBase='GRADLE_USER_HOME'
       archivePath='wrapper/dists'
     }
    

    对于不能访问互联网的内网,需要保证 distributionUrl 地址在私服上可用。执行 gradle genWrapper 后,把生成的内容作为项目文件提交到代码库。

    这样后面的同事,checkout 出代码后遵循使用 gradlew 构建项目的规则就可以避免 gradle 版本冲突的问题了。

  2. Spring Boot 2.4 gradle 插件是需要 Gradle5.6 以上 或 Gradle6.3 版本以上的,否则报错如下。这也从一个方面证明 gradle 版本兼容问题是存在的,所以很有必要在团队中使用 gradlew。

    An exception occurred applying plugin request [id: ‘org.springframework.boot’, version: ‘2.4.0’]

    Failed to apply plugin [id ‘org.springframework.boot’]
    Spring Boot plugin requires Gradle 5 (5.6.x only) or Gradle 6 (6.3 or later). The current version is Gradle 5.3.1

Reference:

基本元素:
https://www.cnblogs.com/itck/p/10478382.html
https://blog.csdn.net/qq_36850813/article/details/93996333

wrapper:
https://www.cnblogs.com/davenkin/p/gradle-spring-boot.html