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

Gradle 7.0 下使用Bitbucket作为Maven仓库的推送问题求助

在Gradle 7+ 中使用Bitbucket作为Maven仓库的解决方案

核心思路

放弃wagonGit,改用Bitbucket官方的Packages仓库(推荐)或调整Git仓库的发布方式,配合maven-publish插件完成构件推送。


方案1:使用Bitbucket Cloud Packages仓库(推荐)

Bitbucket Cloud提供原生的Maven包托管服务,适配maven-publish插件,无需依赖第三方Git wagon。

步骤1:配置插件与发布构件

在build.gradle中添加以下配置:

plugins {
    id 'java'
    id 'maven-publish'
}

// 定义要发布的构件(以Java项目为例)
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
            // 可选:自定义POM元数据
            pom {
                name = '你的项目名称'
                description = '项目描述'
                url = 'https://bitbucket.org/你的用户名/你的仓库名'
            }
        }
    }

    // 配置Bitbucket Packages仓库地址
    repositories {
        maven {
            url = 'https://api.bitbucket.org/2.0/repositories/你的用户名/你的仓库名/packages/maven'
            // 凭证配置(避免硬编码)
            credentials {
                username = project.findProperty('bitbucketUsername') ?: System.getenv('BITBUCKET_USERNAME')
                password = project.findProperty('bitbucketAppPassword') ?: System.getenv('BITBUCKET_APP_PASSWORD')
            }
        }
    }
}

步骤2:创建Bitbucket App Password

  1. 登录Bitbucket,进入个人设置 → App passwords
  2. 创建新的App Password,勾选权限:
    • Repositories: Write
    • Packages: Write
  3. 保存生成的密码(仅显示一次)

步骤3:配置凭证

在本地~/.gradle/gradle.properties中添加凭证(或通过环境变量传递):

bitbucketUsername=你的Bitbucket用户名
bitbucketAppPassword=刚才生成的App Password

步骤4:执行发布

运行Gradle命令完成推送:

./gradlew publish

方案2:将构件推送到Git仓库目录(兼容旧方式)

如果必须用Git仓库存储Maven包,可通过以下方式替代wagonGit:

  1. 先将构件发布到本地目录:
publishing {
    repositories {
        maven {
            url = layout.buildDirectory.dir('maven-repo')
        }
    }
}
  1. 使用Git工具(或Gradle的grgit插件)将本地maven-repo目录的内容提交并推送到Bitbucket仓库的指定路径(比如repo/目录)

这种方式需要手动维护Git提交,不如官方Packages方案便捷。


注意事项

  • Bitbucket Server用户需调整仓库地址为:https://你的Bitbucket服务器地址/rest/api/latest/projects/项目key/repos/仓库名/packages/maven
  • 确保Gradle版本≥7.0,maven-publish插件已默认支持现代仓库协议

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:43:03