gradle初体验【采坑记录】

本文介绍了如何从Maven切换到Gradle,包括下载和配置环境变量,如GRADLE_HOME和GRADLE_USER_HOME,以及IDEA集成。重点讲述了编译问题的解决方案,如依赖路径错误和使用`api`关键字时的plugin缺失。
摘要由CSDN通过智能技术生成

场景:

项目需要从maven要切换到gradle,开始学习gradle使用之旅


下载

https://gradle.org/releases/
在这里插入图片描述
选择合适的版本,下载二进制文件即可

配置环境变量

  • 配置环境变量,新建系统环境“GRADLE_HOME”,值为gradle解压的路径,例:D:\tools\gradle-6.6
  • 配置path,找到path变量,后面添加%GRADLE_HOME%\bin

测试

gradle  -v 

在这里插入图片描述
显示gradle版本信息,说明配置成功

idea整合

环境变量配置

配置 “GRADLE_USER_HOME” 环境变量,指向系统文件夹,例如:E:\download\gradleRepository,表示指定gradle下载的文件配置;
在这里插入图片描述
环境变量配置后,此处会默认修改 自定义的 文件下载位置

gradle user home其实是idea的项目从中央仓库下载jar包和Gradle环境还有其他配置文件的目录,这个目录默认是和GRADLE_USER_HOME同步的,所以我们并不需要修改gradle user home,只需要在环境变量中加入GRADLE_USER_HOME即可自动修改gradle user home

Tips:gradle user home的默认路径是 C:\Users\用户名\.Gradle,也就是说默认下载的位置就是这里

项目创建后

在这里插入图片描述

  • gradle user home 为我们配置的默认仓库地址,不需要修改
  • use gradle from 选择 Specified location,然后后面的路径选择我们本地的gradle目录

gradle寻找本地maven仓库位置的策略

USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository
maven环境变量我们习惯配置成MAVEN_HOME,但是gradle寻找的是M2_HOME,所以我们需要配置M2_HOME环境变量

tips: 此处有几个点要记住
1. 习惯上maven的环境变量我们会配置MAVEN_HOME,gradle并不能找到这个环境变量,gradle寻找到是M2_HOME;
2. maven 版本问题,maven1.0通常配置MAVEN_HOME,maven2.0后推荐使用M2_HOME配置,倘若未配置M2_HOME环境变量,gradle默认会使用用户目录下的  .m2默认文件,导致依赖都下载在此目录下,C盘承受不住;此处推荐直接配置M2_HOME,或者新增M2_HOME
3. 另一种方式,可以把maven的Setting.xml文件显式配置 到用户目录下的  .m2文件夹下,这样配置文件中指定的maven仓库地址也能够生效 

遇到的问题

问题一:

编译问题

报错:

> Task :prepareKotlinBuildScriptModel UP-TO-DATE
Errors occurred while build effective model from E:\download\gradleRepository\caches\modules-2\files-2.1\com.google.zxing\core\3.3.3\3fc07a37b124d3f9e134854b4c7bf7dc120bcae7\core-3.3.3.pom:
    'dependencyManagement.dependencies.dependency.systemPath' for com.google.android:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/platforms/android-22/android.jar in com.google.zxing:core:3.3.3
Errors occurred while build effective model from E:\download\gradleRepository\caches\modules-2\files-2.1\com.google.zxing\core\3.3.3\3fc07a37b124d3f9e134854b4c7bf7dc120bcae7\core-3.3.3.pom:
    'dependencyManagement.dependencies.dependency.systemPath' for com.google.android:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/platforms/android-22/android.jar in com.google.zxing:core:3.3.3
Errors occurred while build effective model from E:\download\gradleRepository\caches\modules-2\files-2.1\com.google.zxing\core\3.3.3\3fc07a37b124d3f9e134854b4c7bf7dc120bcae7\core-3.3.3.pom:
    'dependencyManagement.dependencies.dependency.systemPath' for com.google.android:android:jar must specify an absolute path but is /${env.ANDROID_HOME}/platforms/android-22/android.jar in com.google.zxing:core:3.3.3

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.

在这里插入图片描述

编译有问题,运行没问题

解决方案

项目依赖问题,属于pom文件引用相对路径问题

手动找gradle仓库位置中pom中 platforms/android-22/android.jar 的应用路径,注释掉android.jar 的依赖引用,即可解决
在这里插入图片描述

可参考:https://weiku.co/article/471/

问题二:

在这里插入图片描述
使用api关键字报错,原因缺少plugin插件,api属于java-library的方法
官方文档如下介绍:https://docs.gradle.org/current/userguide/java_library_plugin.html
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值