gradle发布jar到GitHub Packages

1,263 阅读1分钟

GitHub Packages是什么

GitHub Packages是GitHub提供的一种包管理服务,可以在里面发布依赖包,容器镜像,可以对其设置访问权限,为特定用户在项目中提供访问使用。

token

需要在Settings>Developer settings>Personal access tokens里创建一个tokens,可以访问repo,对packages有读写权限。注意这里需要记下生成的token,后面会用到。

image.png 在gradle配置文件:~/.gradle/gradle.properties(如果没有这个文件就新建一个)中增加账号配置:

gpr.user=你的GitHub用户名
gpr.key=上面创建的token

上传jar

修改build.gradle文件,增加打包上传配置:

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

...

publishing {
    repositories {
        maven {
            name = "GitHubPackages"
            url = "https://maven.pkg.github.com/phantom0103/elem-open-sdk"
            credentials {
                username = project.findProperty("gpr.user")
                password = project.findProperty("gpr.key")
            }
        }
    }

    publications {
        gpr(MavenPublication) {
            from(components.java)
        }
    }
}

需要注意的是,上传的url里面都要小写。
最后发布:gradle publish,发布成功后,可以在个人主页的Packages中看到这个包。

image.png

如何使用

修改build.gradle配置,首先需要在repositories中加上这个仓库:

maven {
    url 'https://maven.pkg.github.com/phantom0103/elem-open-sdk'
    credentials {
        username 'GitHub用户名'
        password 'GitHub密码'
    }
}

然后引入依赖:

implementation group: 'io.github.phantom0103', name: 'elem-open-sdk', version: '2.1.0'

这里注意,由于需要配置GitHub账号敏感信息,也最好是配置在gralde.properties中,GitHub Packages并不是像maven那种公开的仓库,是针对特定组织使用的。