我全新安装了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',版本:'1.2.71']不是 在以下任何来源中找到:
- Gradle Core插件(插件不在'org.gradle'名称空间中)
- 插件存储库(无法解析插件工件'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.2.71') 在以下存储库中搜索: Gradle中央插件存储库
答案 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"
//}
这为我解决了这个问题。
答案 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
自动生成的空项目的类似问题。
通过结合 Java
和 Gradle
版本解决了这个问题。
最初我有 Oracle Java 8
和 Gradle 6.8.3
。
经过多次尝试,我找到了一个可行的组合 - AdoptOpenJDK 11
和 Gradle 5.6.4
答案 5 :(得分:0)
就我而言,问题是因为Charles Proxy。关闭 Charles 后,我可以重新开始工作
答案 6 :(得分:0)
就我而言,我在 Settings > Build, Execution, Deployment > Build Tools > Gradle
中更改了 Gradle JVM 并且它起作用了。