Intellij IDEA插件开发Gradle报错处理

时间:2025-03-10 14:30:27

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.

原因分析

  1. Gradle版本与:gradle-intellij-plugin版本不匹配
  2. Java编译环境版本不匹配

解决办法

针对第1个原因

Gradle版本与:gradle-intellij-plugin版本不匹配

  1. 进入项目目录gradle/wrapper/
  2. 查看distributionUrl所填写的Gradle版本号
  3. 打开gradle-intellij-plugin发布版本记录(点击访问)
  4. 查看对应:gradle-intellij-plugin版本是否兼容项目对应的Gradle版本,Gradle发布版本记录(点击访问)
  5. 若不兼容,则调整项目Gradle版本为插件对应支持的Gradle版本,或调整插件为兼容项目当前Gradle版本的版本号
  6. 保存配置后,再次执行Gradle同步操作,等待项目indexing完毕即可

针对第2个原因

Java编译环境版本不匹配

  1. 打开IDEA的File-Settings-Build, Execution, Deployment-Build Tools-Gradle菜单
  2. 查看Gradle Projects面板下的Gradle-Gradle JVM版本
  3. 如上述错误例子,描述意为当前编译组件与Java 11兼容,使用与Java 8兼容,那么就是需要一个Java 11的编译环境
  4. 因此,我们调整Gradle-Gradle JVM版本为Java 11版本的JDK即可
  5. 保存设置后,再次执行Gradle同步操作,等待项目indexing完毕即可

wx

thesilencewalker