Unable to use published KMP library due to error: Detecting cycle in external variants for

Unable to use published KMP library due to error: Detecting cycle in external variants for

当我创建一个新的 KMP 库(由 Android Studio 生成)并将其上传到我的私人存储库(使用 maven-publish 插件)时,我无法在另一个 KMP 应用程序中使用它,因为一个例外说有循环依赖。我不明白哪里出了问题,因为库的依赖性为零。

当我发布一个纯 Java/JVM 库时,它就可以工作了,我可以在另一个 Java 应用程序中使用它。所以在我看来,这个问题的原因是在 Kotlin Multiplatform 中吗?我已经被困了很长时间,所以感谢任何帮助。

完整异常:

正在检测外部变体中的循环: my.group.id:我的神器:0.0.1: my.group.id.example:shared-module:1.0.0 依赖解析忽略了产生结果的周期。建议通过升级一个或多个依赖来解决循环

问题是这些行:

publications.withType<MavenPublication> {
        artifactId = "annotations-kmp"
}

以这种方式更改 artifactId 导致 kotlinMultiplatform 发布相互覆盖。 IDE 然后仍然可以解决依赖关系,使其看起来有效。但是,当 运行 构建 Gradle 时,KMP 插件将检查消耗的依赖项是否具有消费者中所有源集的源集。因为出版物被覆盖,所以情况并非如此,构建失败。不幸的是,给定的例外具有误导性。