【问题标题】:Plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.2.71'] was not found in any of the following sources在以下任何来源中均未找到插件 [id: 'org.jetbrains.kotlin.jvm', version: '1.2.71']
【发布时间】:2019-03-04 21:19:16
【问题描述】:

我全新安装了 IntelliJ,我使用以下设置创建了一个新的 kotlin gradle 项目:

这会产生以下 build.gradle.kts,(完全相同的文件在我的 Windows 机器上工作):

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.2.71"
}

group = "com.test"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    compile(kotlin("stdlib-jdk8"))
}

tasks.withType<KotlinCompile> {
    kotlinOptions.jvmTarget = "1.8"
}

在尝试进行 gradle 刷新时会产生此错误:

插件 [id: 'org.jetbrains.kotlin.jvm', version: '1.2.71'] 不是 在以下任何来源中找到:

  • Gradle 核心插件(插件不在 'org.gradle' 命名空间中)
  • 插件存储库(无法解析插件工件 'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.2.71') 在以下存储库中搜索: Gradle Central 插件库

【问题讨论】:

  • 请检查“设置 | 构建... | 构建工具 | Gradle”中是否未启用“离线”选项
  • @y.bedrov,未启用。
  • 你解决了吗?考虑只使用build.gradle
  • 我对@9​​87654325@ 有同样的问题,所以我认为它与 Kotlin DSL 构建脚本(在 macos 上)无关。
  • 我在使用 build.gradle 或 Kotlin DSL 时也遇到了同样的问题。不同的PC,相同的互联网连接它可以工作。试图使 IntelliJ 缓存无效。

标签: gradle intellij-idea kotlin gradle-kotlin-dsl


【解决方案1】:

就我而言(Ubuntu 20.04),问题出在从 snap 安装的 gradle 7.2 上。

我已删除从 snap 安装的 gradle 7.2 并从 sdkman 安装 gradle 7.2。适合我。

【讨论】:

    【解决方案2】:

    检查您的 gradle 和 kotlin(或 Java)版本。

    我遇到了同样的错误,通过在 build.gradle 中指定 kotlin 版本解决了我的问题:

    之前:

    plugins {
        id 'org.jetbrains.kotlin.jvm'
    }
    

    之后:

    plugins {
        id 'org.jetbrains.kotlin.jvm' version "1.4.10"
    }
    

    【讨论】:

      【解决方案3】:

      在我的例子中,我在 Settings &gt; Build, Execution, Deployment &gt; Build Tools &gt; Gradle 中更改了 Gradle JVM,它成功了。

      【讨论】:

        【解决方案4】:

        在我的情况下,问题是因为 Charles Proxy。关闭查尔斯后,我可以重新开始工作

        【讨论】:

          【解决方案5】:

          我最近遇到了由Intellij Idea 自动生成的空项目的类似问题。

          通过结合JavaGradle 版本解决了这个问题。

          最初我有Oracle Java 8Gradle 6.8.3

          经过多次尝试,我找到了一个可行的组合 - AdoptOpenJDK 11Gradle 5.6.4

          【讨论】:

            【解决方案6】:
            import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
            
            plugins {
            //    kotlin("jvm") version "1.2.71"
            }
            
            group = "com.test"
            version = "1.0-SNAPSHOT"
            
            repositories {
                mavenCentral()
            }
            
            dependencies {
                compile(kotlin("stdlib-jdk8"))
            }
            
            //tasks.withType<KotlinCompile> {
            //    kotlinOptions.jvmTarget = "1.8"
            //}
            
            1. 通过注释上述行来同步。将设置 gradle。
            2. 下载 gradle 后,取消注释这些行并再次同步。
            3. 如果未正确下载依赖项,请在终端中运行“gradle build”并单击 gradle sync。

            这为我解决了这个问题。

            【讨论】:

            • 欢迎来到 Stack Overflow。如果您想改进您的答案,请使用edit 按钮而不是添加评论。 Comments 应该用于询问更多信息或提出改进建议。
            【解决方案7】:

            好的,所以答案一直很简单。出于某种原因,我激活了 gradle 的“离线工作”切换,这就是问题的原因。

            要禁用它,只需转到Settings &gt; Build, Execution, Deployment &gt; Build Tools &gt; Gradle 并取消选中“离线工作”复选框。

            【讨论】:

              【解决方案8】:

              (1) 就我而言(Ubuntu 18.04 上的 OpenJDK 11),问题是 Gradle 无法从 gradle 插件服务器下载 POM 文件。你可以通过在jshell中输入这一行来测试它:

              new java.net.URL("https://plugins.gradle.org/m2/org/jetbrains/kotlin/jvm/org.jetbrains.kotlin.jvm.gradle.plugin/1.3.11/org.jetbrains.kotlin.jvm.gradle.plugin-1.3.11.pom").openStream()
              

              (您可以通过使用 --debug 选项运行 gradle 来找到您的网址)

              所以如果你收到这样的异常:InvalidAlgorithmParameterException: trustAnchors parameter must be non-empty 那么问题是CA-certs cache。这可以通过将这些行写入 bash Ref 来轻松修复:

              sudo su
              /usr/bin/printf '\xfe\xed\xfe\xed\x00\x00\x00\x02\x00\x00\x00\x00\xe2\x68\x6e\x45\xfb\x43\xdf\xa4\xd9\x92\xdd\x41\xce\xb6\xb2\x1c\x63\x30\xd7\x92' > /etc/ssl/certs/java/cacerts
              /var/lib/dpkg/info/ca-certificates-java.postinst configure
              

              顺便说一句,在重试之前不要忘记重新启动 gradle 守护程序。 (gradle --stop)

              (2) 另一个原因可能是您的互联网无法访问bintray.com(伊朗或中国的互联网),您可以将此行放在jshell 上进行测试:

              new java.net.URL("https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin-api/1.3.11/kotlin-gradle-plugin-api-1.3.11.pom").openStream()
              

              如果您收到连接超时,则证实了这一理论。在这种情况下,您需要购买并连接代理/vpn 才能下载这些依赖项。

              【讨论】:

              • 谢谢,没有详细级别的 gradle 会指出证书没有被识别,因为我可以从浏览器中获取 pom,所以我不知道它为什么不起作用。像你建议的那样从 jshell 测试它对我来说很清楚。我只是不明白为什么我的 JVM 突然决定它不信任主要的 gradle 插件存储库...... Java 很痛苦
              【解决方案9】:

              检查您的互联网连接并确保您的互联网不受限制。

              我通过使用 VPN 应用为所有隧道(不仅仅是 HTTP)打开代理解决了这个问题。

              【讨论】:

                猜你喜欢
                • 2022-12-29
                • 2023-01-02
                • 2020-07-28
                • 1970-01-01
                • 2020-05-17
                • 2022-06-15
                • 2022-10-04
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多