Intellij IDEA插件开发Gradle报错处理
Gradle同步报错信息
A problem occurred configuring root project 'simple_language_plugin'.
> Could not resolve all files for configuration ':classpath'.
> Could not resolve :gradle-intellij-plugin:1.13.3.
Required by:
project : > ::1.13.3
> No matching variant of :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 '-version' with value '8.1.1' but:
- Variant 'apiElements' capability :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 -version (required '8.1.1')
- Variant 'javadocElements' capability :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 -version (required '8.1.1')
- Variant 'runtimeElements' capability :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 -version (required '8.1.1')
- Variant 'sourcesElements' capability :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 -version (required '8.1.1')
- Variant 'testFixturesApiElements' capability :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 -version (required '8.1.1')
- Variant 'testFixturesRuntimeElements' capability :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 -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.
原因分析
-
Gradle
版本与:gradle-intellij-plugin
版本不匹配 -
Java
编译环境版本不匹配
解决办法
针对第1个原因
Gradle
版本与:gradle-intellij-plugin
版本不匹配
- 进入项目目录
gradle/wrapper/
- 查看
distributionUrl
所填写的Gradle
版本号 - 打开
gradle-intellij-plugin
发布版本记录(点击访问) - 查看对应
: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
完毕即可
wx
thesilencewalker