在以下任何来源中均未找到插件[id:'org.jetbrains.kotlin.jvm',版本:'1.2.71']

时间:2018-09-28 21:13:48

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

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

Project settings

这将产生以下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',版本:'1.2.71']不是   在以下任何来源中找到:

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

7 个答案:

答案 0 :(得分:3)

检查您的Internet连接,并确保您的Internet不受限制。

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

答案 1 :(得分:3)

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。

这为我解决了这个问题。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

(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参数必须为非空,那么问题就出在 CA证书缓存上。可以通过将这些行写入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才能下载这些依赖项。

答案 4 :(得分:0)

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

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

最初我有 Oracle Java 8Gradle 6.8.3

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

答案 5 :(得分:0)

就我而言,问题是因为Charles Proxy。关闭 Charles 后,我可以重新开始工作

答案 6 :(得分:0)

就我而言,我在 Settings > Build, Execution, Deployment > Build Tools > Gradle 中更改了 Gradle JVM 并且它起作用了。