gradle的使用

1、国内源的调整问题

gradle安装包下载国内源的问题

####### 需要调整 项目路径/gradle/wrapper/gradle-wrapper.properties 文件
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
## 修改为腾讯云镜像
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.10-bin.zip
# https\://mirrors.cloud.tencent.com/gradle/
# distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

gradle安装完成扫描配置文件加载maven jar包国内源的问题

# 如果是 项目路径/build.gradle.kts文件 增加下列内容,这个是idea插件开发中会这样做
buildscript {
    repositories {
        maven(url = "https://maven.aliyun.com/repository/public")
        maven(url = "https://maven.aliyun.com/repository/jcenter")
        maven(url = "https://maven.aliyun.com/repository/google")
        maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
    }
}

allprojects {
    repositories {
        maven(url = "https://maven.aliyun.com/repository/public")
        maven(url = "https://maven.aliyun.com/repository/jcenter")
        maven(url = "https://maven.aliyun.com/repository/google")
        maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
    }
}
# 如果是 项目路径/build.gradle 文件,增加下列内容
buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}
 
allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}

2、Gradle 项目

Gradle 项目标准结构:

project-root/
├── build.gradle(.kts)          # Gradle 构建脚本 (相当于 Maven 的 pom.xml)
├── settings.gradle(.kts)        # 项目设置文件 (定义多模块项目)
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar   # Gradle Wrapper 可执行文件
│       └── gradle-wrapper.properties # Gradle Wrapper 配置
├── gradlew                     # Unix/Linux/macOS 的 Gradle Wrapper 脚本
├── gradlew.bat                 # Windows 的 Gradle Wrapper 脚本
├── src/
│   ├── main/
│   │   ├── java/              # Java 源代码
│   │   ├── kotlin/            # Kotlin 源代码 (如果使用 Kotlin)
│   │   ├── resources/         # 主资源文件
│   │   └── webapp/            # Web 应用资源 (如果是 Web 项目)
│   └── test/
│       ├── java/              # 测试代码
│       └── resources/         # 测试资源文件
└── build/                     # 构建输出目录 (类似 Maven 的 target/)
    ├── classes/
    ├── libs/
    └── ...

与 Maven 的 pom.xml 对应的文件:

Gradle 中与 Maven 的 pom.xml 相当的文件是:

  1. build.gradlebuild.gradle.kts - 这是主要的构建配置文件

    • build.gradle 是基于 Groovy DSL 的配置文件
    • build.gradle.kts 是基于 Kotlin DSL 的配置文件
  2. settings.gradlesettings.gradle.kts - 项目设置文件

    • 定义项目名称和包含哪些子项目(类似 Maven 多模块项目中的父 POM)

主要差异对比:

MavenGradle
pom.xmlbuild.gradle(.kts)
settings.xmlsettings.gradle(.kts)
mvn 命令gradle 命令
mvnw 脚本gradlew 脚本

示例对比:

Maven 的 pom.xml:

<project>
    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
</project>

Gradle 的 build.gradle.kts:

group = "com.example"
version = "1.0.0"

dependencies {
    implementation("junit:junit:4.12")
}

在你的项目中,build.gradle.kts 文件就相当于 Maven 项目中的 pom.xml 文件,它们都定义了项目的依赖、插件、构建配置等信息。