无法在Gradle项目中使用pluginManagement块应用Kotlin JVM插件



我正在用Gradle-Kotlin脚本设置一个简单的Kotlin程序。初始build.gradle.kts文件和settings.gradle.kts文件非常简单:

build.gradle.kts文件:

plugins {
id("org.jetbrains.kotlin.jvm") version "1.4.10"
}
group = "edu.nju.alex.wang"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
}

settings.gradle.kts文件:

rootProject.name = "Barabra"

我想做的是使用pluginManangement块来控制Kotlin JVM插件的版本。所以我把代码改成了这个。

build.gradle.kts文件:

plugins {
id("org.jetbrains.kotlin.jvm")
}
group = "edu.nju.alex.wang"
version = "1.0-SNAPSHOT"

dependencies {
implementation(kotlin("stdlib"))
}

settings.gradle.kts文件:

pluginManagement {
repositories {
mavenCentral()
jcenter()
google()
}
plugins {
id("org.jetbrains.kotlin.jvm") version "1.4.10"
}
}
rootProject.name = "Barabra"

然而,当我尝试执行Gradle任务时,它报告了一个错误:

* Where:
Build file '/home/jue/Storage/Barbara/Barabra/build.gradle.kts' line: 1
* What went wrong:
Plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.4.10'] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.4.10')
Searched in the following repositories:
MavenRepo
BintrayJCenter
Google

我是做错了什么,还是这根本不起作用?

您的问题说明可以在这里找到:https://docs.gradle.org/current/userguide/plugins.html#sec:custom_plugin_repositories

pluginManagement {
repositories {
maven(url = "../maven-repo")
gradlePluginPortal()
ivy(url = "../ivy-repo")
} 
} 

这篇文章告诉Gradle首先查看Maven存储库../maven repo解析插件时,然后检查Gradle插件门户(如果在Maven存储库中找不到插件(如果如果不希望搜索Gradle插件门户,请省略gradlePluginPortal((行。最后,Ivy存储库位于/常春藤回购将检查

在您的案例中,您在repositories(google、jcenter、mavenCentral(中添加了一些repos,但您没有添加gradlePluginPortal,这是解析Gradle插件的默认位置。

1.4.10版本中的org.jetbrains.kotlin.jvm插件似乎(目前?(在Gradle Plugins repository之外的其他存储库中不可用。

那么,如何解决这个问题:从pluginManagement中删除整个repositories块(如果您不需要从自己的特定repo中解析插件(,或者在列表中添加gradlePluginPortal()

我发现最常见的原因是org.getbrains.kotlin.jvm插件的版本。在这里找到正确的插件最新版本,在build.gradle中更改版本并重新加载。

相关内容

  • 没有找到相关文章

最新更新