gradle学习及问题
参考:https://blog.csdn.net/chentian114/article/details/123344839。
一、下载安装
参考:https://blog.csdn.net/chentian114/article/details/123344839
1、下载Gradle并解压
安装包:gradle-6.7-bin.zip
可以在idea的安装目录查看自己适配的版本
路径:D:\IDEA2021.3\plugins\gradle\lib
下载地址:https://services.gradle.org/distributions/
解压到本地文件夹
2、配置环境变量
1.配置环境变量 GRADLE_HOME
,对应Gradle的安装目录。
2.配置环境变量 GRADLE_USER_HOME
,对应Gradle本地仓库或工作空间目录(自已创建的指定目录)。
3.在Path中添加Gradle
%GRADLE_HOME%\bin;
4.测试
win+R,输入cmd ,输入 gradle -v
gradle 安装成功。
3、配置Gradle国内仓库
在gradle目录D:\ProgramDevs\gradle-6.7\init.d,添加一个文件 init.gradle ,添加以下内容
allprojects {
repositories {
maven { url 'file://D:/ProgramDevs/gradleRepo'}
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
mavenCentral()
}
buildscript {
repositories {
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
}
}
}
maven { url 'file://D:/ProgramDevs/gradleRepo'}
配置的是Gradle本地仓库或工作目录的地址,对应GRADLE_USER_HOME
。
4、IDEA 配置Gradle
gradle build 构建项目成功。
二、遇到的问题
1、Could not resolve org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3.
Gradle同步报错信息
参考:https://blog.csdn.net/weixin_43365786/article/details/130879812
A problem occurred configuring root project 'simple_language_plugin'.
> Could not resolve all files for configuration ':classpath'.
> Could not resolve org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3.
Required by:
project : > org.jetbrains.intellij:org.jetbrains.intellij.gradle.plugin:1.13.3
> No matching variant of org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.1.1' but:
- Variant 'apiElements' capability org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3 declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.1.1')
- Variant 'javadocElements' capability org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3 declares a component for use during runtime, and its dependencies declared externally:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.1.1')
- Variant 'runtimeElements' capability org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.1.1')
- Variant 'sourcesElements' capability org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.13.3 declares a component for use during runtime, and its dependencies declared externally:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.1.1')
- Variant 'testFixturesApiElements' capability org.jetbrains.intellij.plugins:gradle-intellij-plugin-test-fixtures:1.13.3 declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.1.1')
- Variant 'testFixturesRuntimeElements' capability org.jetbrains.intellij.plugins:gradle-intellij-plugin-test-fixtures:1.13.3 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.1.1')
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
原因分析
1、Gradle版本与org.jetbrains.intellij.plugins:gradle-intellij-plugin
版本不匹配
2、Java编译环境版本不匹配
针对第1个原因
Gradle版本与org.jetbrains.intellij.plugins:gradle-intellij-plugin版本不匹配
- 进入项目目录
gradle/wrapper/gradle-wrapper.properties
- 查看
distributionUrl
所填写的Gradle版本号 - 打开
gradle-intellij-plugin
发布版本记录(点击访问) - 查看对应
org.jetbrains.intellij.plugins:gradle-intellij-plugin
版本是否兼容项目对应的Gradle版本,Gradle发布版本记录(点击访问) - 若不兼容,则调整项目Gradle版本为插件对应支持的Gradle版本,或调整插件为兼容项目当前Gradle版本的版本号
- 保存配置后,再次执行Gradle同步操作,等待项目indexing完毕即可
针对第2个原因
Java编译环境版本不匹配
- 打开IDEA的File-Settings-Build, Execution, Deployment-Build Tools-Gradle菜单
- 查看Gradle Projects面板下的Gradle-Gradle JVM版本
- 如上述错误例子,描述意为当前编译组件与Java 11兼容,使用与Java 8兼容,那么就是需要一个Java 11的编译环境
- 因此,我们调整Gradle-Gradle JVM版本为Java 11版本的JDK即可
- 保存设置后,再次执行Gradle同步操作,等待项目indexing完毕即可
2、Android Studio Gradle下载缓慢
参考:https://blog.csdn.net/qq_62331166/article/details/136009592
# 阿里云镜像
systemProp.http.proxyHost=mirrors.aliyun.com
systemProp.http.proxyPort=80
systemProp.https.proxyHost=mirrors.aliyun.com
systemProp.https.proxyPort=443
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)