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

如何在GitHub Packages中覆盖已存在的软件包版本

解决GitHub Packages覆盖已存在SNAPSHOT版本的问题

1. 开启GitHub Packages的版本覆盖权限

进入GitHub仓库的「Packages」页面,找到你发布的包,进入包的「Settings」页面:

  • 在「Package visibility and access」区域,找到「Allow updates to existing packages」选项并勾选保存。这是允许覆盖同版本包的核心设置。

2. 配置Gradle发布脚本支持覆盖

如果你使用maven-publish插件,需要在构建脚本中明确允许SNAPSHOT版本的更新:

示例build.gradle配置

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

group = 'your.group.id'
version = '1.0.0-SNAPSHOT' // 替换为你的SNAPSHOT版本号

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/OWNER/REPO") // 替换为你的仓库OWNER和名称
            credentials {
                username = System.getenv("GITHUB_ACTOR")
                password = System.getenv("GITHUB_TOKEN")
            }
            // 允许SNAPSHOT版本更新
            content {
                snapshots {
                    allowAll()
                }
            }
        }
    }
}

3. 调整GitHub Actions工作流(可选)

如果上述配置后仍有问题,可以在publish步骤中添加Gradle参数强制覆盖:
修改工作流中的publish步骤:

- name: Publish package
  uses: gradle/gradle-build-action@v2
  with:
    arguments: publish -Pmaven.deploy.override=true
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    GITHUB_ACTOR: ${{ github.actor }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:22:11