首页 > 解决方案 > Gradle 无法找到用于 kotlinx 序列化的 bintray 存储库

问题描述

我正在尝试使用kotlinx.serialization并且没有运气。以下是相关部分build.gradle

buildscript {
    ext.kotlin_version = '1.3.71'

    repositories {
        mavenCentral()
        google()
        jcenter()
        maven("https://kotlin.bintray.com/kotlinx")
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
    }
}

这死在葡萄藤上:

Could not find method maven() for arguments [https://kotlin.bintray.com/kotlinx] 
on repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler

在此处输入图像描述

什么是最新的合并方式kotlinx-serialization

标签: gradlekotlinkotlinx.serialization

解决方案


maven方法的参数org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler是闭包,上下文对象是类型org.gradle.api.artifacts.repositories.MavenArtifactRepository,所以正确的脚本应该是

repositories {
   mavenCentral()
   maven {
    url="https://kotlin.bintray.com/kotlinx"
  }

更重要的是,kotlinx.serialization存在于 mavencentral 中,因此无需添加您的自定义 maven 存储库


推荐阅读