设置镜像

${USER_HOME}/.gradle/中新建 init.gradle 文件,内容如下:

  1. allprojects{
  2. repositories {
  3. def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/'
  4. def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter/'
  5. def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google/'
  6. def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/'
  7. all { ArtifactRepository repo ->
  8. if(repo instanceof MavenArtifactRepository){
  9. def url = repo.url.toString()
  10. if (url.startsWith('https://repo1.maven.org/maven2/')) {
  11. project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
  12. remove repo
  13. }
  14. if (url.startsWith('https://jcenter.bintray.com/')) {
  15. project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
  16. remove repo
  17. }
  18. if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
  19. project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
  20. remove repo
  21. }
  22. if (url.startsWith('https://plugins.gradle.org/m2/')) {
  23. project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."
  24. remove repo
  25. }
  26. }
  27. }
  28. maven { url ALIYUN_REPOSITORY_URL }
  29. maven { url ALIYUN_JCENTER_URL }
  30. maven { url ALIYUN_GOOGLE_URL }
  31. maven { url ALIYUN_GRADLE_PLUGIN_URL }
  32. }
  33. }

wrapper目录

wrapper用于存放gradle-wrapper下载gradle的zip包和解压的文件夹。
wrapper的目录规则是

  • wrapper/dists/gradle-6.8-bin/${base36}/gradle-6.8-bin.zip
  • wrapper/dists/gradle-6.8-bin/${base36}/gradle-6.8-bin.zip.lck
  • wrapper/dists/gradle-6.8-bin/${base36}/gradle-6.8-bin.zip.ok

其中 base36 的规则为

  1. 对gradle-wrapper.properties中 distributionUrl进行md5加密。如https://services.gradle.org/distributions/gradle-6.8-bin.zip
  2. 把得到的 16进制加 0x ,转为10进制。
  3. 对得到的10进制进行 base36 加密,得到结果,取小写。

事例:
echo “https://services.gradle.org/distributions/gradle-6.8-bin.zip“ | md5 // 得到 19F507A78F3E18C3605FF6237C7712CD
0x19F507A78F3E18C3605FF6237C7712CD // 得到 34502967877265721781546168724290474701
base36(34502967877265721781546168724290474701) 得到 1JBLHJYYDFKCLFZX1AGP92NYL
取小写后为 1jblhjyydfkclfzx1agp92nyl

自动生成base36的地址

使用脚本:
建立 temp.ts 文件:

  1. import { gradelBase36 } from "https://gitee.com/OSCFE/deno_utils/raw/master/gradleBase36/mod.ts";
  2. const result = gradleBase("7.0")//参数为 version
  3. console.log(result);

deno run temp.ts

各版本下载地址

常用设置

使用 lombok

通过插件的方式使用 lombok

gradle中使用 lombok的推荐方式是通过插件的方式使用:

  1. plugins {
  2. id "io.freefair.lombok" version "5.3.3.3"
  3. }

使用 log4j

  1. dependencies {
  2. compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.14.1'
  3. compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.14.1'
  4. }

指定使用的Java版本

在使用Gradle编译Java程序的时候,我们的程序使用的Java版本可能和全局的Java版本不一样,在这种情况下,就需要我们对指定的项目指定对应的Java版本,方法如下:
gradle.properties为添加以下内容:

  1. org.gradle.java.home = your jdk path