我正在一个项目中,而不是使用默认存储库(Maven Central,jCenter等),我们正在使用内部JFrog存储库。该项目正在将Kotlin DSL用于Gradle。
问题在于,即使在pluginManagement
文件中配置settings.gradle.kts
块,Gradle仍会尝试从Gradle Central Plugin Repository获取依赖项
// settings.gradle.kts
pluginManagement {
repositories {
maven(url = "https://myinternalrepo.corp/artifactory")
}
}
// other definitions
失败消息:
Plugin [id: 'org.gradle.kotlin.kotlin-dsl', version: '1.1.3'] 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.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:1.1.3')
Searched in the following repositories:
Gradle Central Plugin Repository
有人知道我在做什么错吗?
答案 0 :(得分:0)
如果要为buildSrc
脚本配置插件存储库,则需要在settings.gradle[.kts]
目录内创建专用的buildSrc
文件,并在此处配置pluginManagement {}
块。
实际上,buildSrc
是一种单独的构建,在评估/执行主构建之前先执行该构建。因此,如果要在pluginManagement
{}
脚本中使用这些自定义存储库,则无法在根项目的settings.gradle
中配置buildSrc
块。
答案 1 :(得分:-1)
您似乎错过了公司缓存中的Gradle插件存储库Maven存储库。只要确保您包含Message<?> failed = ((MessagingException) em.getPayload()).getFailedMessage();
。
该错误确切表明它找不到插件
Gradle插件通常在此处列出,并且插件依赖项是从https://plugins.gradle.org/m2/
提取的
顺便说一句。今天我们有Kotlin jcenter
,也许升级很有意义