Gradle是Maven之后出来的一款项目构建工具,在学习的过程中可以类比着去学习。当前学习Gradle的目的主要是为了读Spring源码。

安装

  1. 下载
  2. 配置环境变量
  3. 测试

    安装的步骤和maven类似,具体的这边也不写,因为一般不用自己安装的

使用项目自带的Gradle

gradle的每个版本兼容性不是很好,比如Spring源码5.0的gradle和5.3的gradle版本就不一样,所以同一个gradle无法构建2个Spring不同版本的源码。
所以对于Gradle项目来说,我们就使用其自带的gradle就好
image.png

  1. gradle-wrapper.properties文件内容
    1. #指定按照目录 这里就是/home/user目录
    2. distributionBase=GRADLE_USER_HOME
    3. distributionPath=wrapper/dists
    4. #下载的版本
    5. distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
    6. #zip包下载位置
    7. zipStoreBase=GRADLE_USER_HOME
    8. zipStorePath=wrapper/dists

    对于gradle项目,这边不用再IDEA中配置Gradle,保持默认,让项目自己下载即可

image.png

build.gradle文件

  1. #插件,类比maven的插件
  2. plugins {
  3. id 'org.springframework.boot' version '2.7.1'
  4. id 'io.spring.dependency-management' version '1.0.11.RELEASE'
  5. id 'java'
  6. }
  7. #项目的 group version java版本
  8. group = 'com.example'
  9. version = '0.0.1-SNAPSHOT'
  10. sourceCompatibility = '1.8'
  11. configurations {
  12. compileOnly {
  13. extendsFrom annotationProcessor
  14. }
  15. }
  16. #指定仓库
  17. repositories {
  18. mavenCentral()
  19. }
  20. #依赖
  21. dependencies {
  22. implementation 'org.springframework.boot:spring-boot-starter-web'
  23. compileOnly 'org.projectlombok:lombok'
  24. annotationProcessor 'org.projectlombok:lombok'
  25. testImplementation 'org.springframework.boot:spring-boot-starter-test'
  26. }
  27. tasks.named('test') {
  28. useJUnitPlatform()
  29. }

依赖项

build.gradle中的dependencies我们基本上都可以读懂,但是前面的修饰符这边我们需要看一下。
修饰符叫作依赖作用域,即Maven中的Scope属性

  1. implementation:maven中的compile
  2. compileOnly:maven中的provided
  3. api:maven中的compile
  4. runtimeOnly:maven中的runtime
  5. annotationProcessor: