使用 Gradle 将快照发布到 GitHub 包

Nic*_*lis 8 gradle maven maven-publish github-actions github-package-registry

我很难将 0.0.1-SNAPSHOT 版本的 Java 库发布到 GitHub Packages。该库是一个 Gradle 项目。看起来,当版本不在 GitHub 上时,它会成功创建,但此后,它永远不会被更新/覆盖,发布新快照版本的唯一方法是物理删除现有版本。我的build.gradle

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

version = '0.0.1-SNAPSHOT'

publishing {
    publications {
        maven(MavenPublication) {
            from components.java
        }
    }
    repositories {
        maven {
            url = "https://maven.pkg.github.com/myOrg/myRepo"
            credentials {
                username = "myUsername"
                password = "myPassword"
            }

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时gradle publish(无论是本地还是通过 GitHub 操作),日志都干净整洁

> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :javadoc UP-TO-DATE
> Task :javadocJar UP-TO-DATE
> Task :sourcesJar UP-TO-DATE
> Task :generateMetadataFileForMavenPublication
> Task :generatePomFileForMavenPublication
> Task :publishMavenPublicationToQuotechRepository
> Task :publish

BUILD SUCCESSFUL in 50s
8 actionable tasks: 3 executed, 5 up-to-date
Run Code Online (Sandbox Code Playgroud)

即使是gradle clean, 或清除所有内容也没有任何区别。GitHub 似乎拒绝用新快照覆盖现有快照。在 GitHub 上检查时间戳仅指向第一个快照上传。有任何线索如何让它发挥作用吗?标准 Maven 存储库不应该在每次推送新版本时自动覆盖 SNAPSHOT 版本吗?谢谢