# Gradle 构建警告修复完成报告 ## 🎉 修复成果总结 经过本次优化,我们成功解决了项目中的大部分 Gradle 构建警告: ✅ **已完成的修复:** - 移除了项目中重复的仓库定义 - 统一了仓库配置到 settings.gradle.kts - 创建了符合最新语法规范的本地初始化脚本 - 项目内部已无 Convention API 警告 ⚠️ **仍存在的警告:** - 用户全局 Gradle 初始化脚本 (`C:\Users\xiaji\.gradle\init.gradle`) 中的已弃用语法警告 ## 📁 新增文件说明 ### 1. 本地初始化脚本 `gradle/init/init.gradle` - 符合最新 Gradle 语法规范的初始化脚本 ### 2. 构建脚本 `build.ps1` - PowerShell 脚本,可使用本地初始化脚本进行构建 ## 🚀 使用方法 ### 方法一:使用本地初始化脚本(推荐) ```powershell powershell -ExecutionPolicy Bypass -File .\build.ps1 ``` ### 方法二:直接使用 Gradle 命令 ```bash .\gradlew clean build ``` ## 📊 当前状态 执行 `./gradlew clean --warning-mode=all` 后: - 项目内部警告已全部解决 ✅ - 仅剩用户全局配置的警告(不影响项目构建) - 构建过程正常完成 ✅ ## 📝 后续建议 如需完全消除所有警告,建议: 1. 备份当前的 `C:\Users\xiaji\.gradle\init.gradle` 2. 将其中的 `url 'xxx'` 语法修改为 `url = uri('xxx')` 3. 或者删除该文件,让项目使用我们提供的本地配置 --- # 原始修复指南 ## 问题分析 当前构建过程中出现两类警告: 1. **Groovy DSL 已弃用语法警告** (12个) - 位置:用户全局 Gradle 初始化脚本 `C:\Users\xiaji\.gradle\init.gradle` - 原因:使用了 `url 'xxx'` 语法,应改为 `url = uri('xxx')` 2. **Convention API 已弃用警告** (2个) - 位置:项目构建配置中 - 原因:使用了已弃用的 Convention API ## 解决方案 ### 1. 修复用户全局 Gradle 初始化脚本 将 `C:\Users\xiaji\.gradle\init.gradle` 文件中的以下语法: ```groovy // ❌ 错误写法(已弃用) maven { url 'https://repo.huaweicloud.com/repository/gradle/' } // ✅ 正确写法 maven { url = uri('https://repo.huaweicloud.com/repository/gradle/') } ``` 需要修改的所有位置: - 第7行:pluginManagement.repositories.maven.url - 第8行:pluginManagement.repositories.maven.url - 第9行:pluginManagement.repositories.maven.url - 第18行:dependencyResolutionManagement.repositories.maven.url - 第19行:dependencyResolutionManagement.repositories.maven.url - 第20行:dependencyResolutionManagement.repositories.maven.url - 第31行:buildscript.repositories.maven.url - 第32行:buildscript.repositories.maven.url - 第33行:buildscript.repositories.maven.url - 第37行:repositories.maven.url - 第38行:repositories.maven.url - 第39行:repositories.maven.url ### 2. 项目配置优化建议 虽然项目本身配置正确,但可以进一步优化: #### 修改 settings.gradle.kts ```kotlin dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) // 保持现状 repositories { google() mavenCentral() maven { url = uri("https://jitpack.io") } // 移除重复的阿里云镜像,因为已在全局配置中设置 } } ``` #### 修改 build.gradle.kts ```kotlin allprojects { repositories { // 移除这些仓库定义,因为已在 settings 中统一管理 // google() // mavenCentral() // maven { url = uri("https://jitpack.io") } // 阿里云镜像源也移除(由全局配置处理) } } ``` ## 验证修复结果 执行以下命令验证警告是否消除: ```bash ./gradlew clean --warning-mode=all ``` 预期结果:应该不再出现 Groovy DSL 语法警告和 Convention API 警告。 ## 注意事项 1. 修改全局 init.gradle 文件会影响所有 Gradle 项目 2. 如果只希望影响当前项目,可以将镜像配置移到项目本地的 settings.gradle.kts 中 3. 建议备份原始 init.gradle 文件后再进行修改