You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin多平台项目发布至Bintray遇双错误求助

解决Kotlin多平台项目发布Bintray的两个失败问题

我来帮你拆解这两个错误的核心原因,再给出针对性的修复方案:

错误1::bintrayUpload执行失败 - 找不到publishableFiles属性

这个问题本质是Kotlin多平台项目的发布配置没适配Gradle的多平台组件模型,再加上可能的Bintray插件版本兼容性问题导致的。

修复步骤:

  1. 调整Publication配置,关联KMP专属组件
    你当前用的普通MavenPublication无法正确识别Kotlin多平台的产物,需要修改发布配置,关联KMP的专用组件:
publishing {
    repositories {
        maven { url = project.projectBintrayRepo }
    }
    publications {
        create<MavenPublication>("mavenProject") {
            // 关键:关联Kotlin多平台的发布组件
            from(components["kotlinMultiplatform"])
            groupId = project.groupId
            artifactId = project.projectBintrayArtifactName
            version = project.kyugaVersion
            withPom(pom)
        }
    }
}
  1. 确保Bintray插件版本兼容
    如果你用的是Gradle 7+,建议使用最后维护的Bintray插件版本(1.8.5),在settings.gradle.kts(或settings.gradle)里配置:
plugins {
    id("com.jfrog.bintray") version "1.8.5" apply false
}

旧版本插件无法适配新Gradle版本的Publication API,才会出现找不到publishableFiles属性的问题。


错误2::bintrayPublish执行失败 - HTTP 404版本未找到

这个错误是因为Bintray仓库中不存在你要发布的0.0.6版本,Bintray要求发布前必须先在后台创建版本,或者配置插件自动创建。

修复步骤:

  1. 检查Bintray后台的版本状态
    登录你的Bintray账号,进入messai/maven仓库,找到kyuga包,确认是否已经创建了0.0.6版本。如果没有,要么手动在后台创建,要么通过插件配置自动创建。

  2. 配置Bintray插件自动创建版本
    在你的Gradle配置中添加Bintray插件的详细配置,开启自动创建版本和自动发布:

bintray {
    user = project.findProperty("bintray.user")?.toString()
    key = project.findProperty("bintray.key")?.toString()
    pkg {
        repo = "maven" // 对应你的Bintray仓库名
        name = project.projectBintrayArtifactName // 对应包名kyuga
        version {
            name = project.kyugaVersion // 版本号0.0.6
            desc = "Kyuga SDK version ${project.kyugaVersion}"
            vcsTag = "v${project.kyugaVersion}" // 建议关联Git标签
            publish = true // 自动发布版本
        }
        publish = true // 自动将构件同步到仓库
    }
}
  1. 验证仓库URL正确性
    确认project.projectBintrayRepo的URL格式正确,应该类似:
https://api.bintray.com/maven/messai/maven/kyuga/;publish=1

确保路径中的仓库名、包名和你后台的配置完全一致。


最后提醒:Bintray的公开服务已经停止,但私有Bintray实例仍然可以正常使用,如果是用公开服务的话,建议迁移到Maven Central等其他仓库哦。

内容的提问来源于stack exchange,提问作者vizsatiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 15:47:55