尝试从 gradle 发布到 GitHub 包时如何解决 401 授权错误

Han*_*ans 1 github gradle maven

这是我第一次尝试在 GitHub 上发布包。

\n

我已经根据说明设置了我的项目\xe2\x80\x99s build.gradle - 前者的相关摘录是:

\n
publishing {\n\n    publications {\n        mavenJava(MavenPublication) {\n            artifactId = \'moss\'\n            from components.java\n        }\n    }\n\n    repositories {\n        maven {\n            name = "GitHubPackages"\n            url = "https://maven.pkg.github.com/hansi_b/moss"\n            credentials {\n                username = project.hasProperty("GITHUB_ACTOR") ? GITHUB_ACTOR : ""\n                password = project.hasProperty("GITHUB_REPO_PAT") ? GITHUB_REPO_PAT : ""\n            }\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我在用

\n
    \n
  1. 我的 GitHub 用户名是username(in GITHUB_ACTOR) 和
  2. \n
  3. 具有必要范围(AFAICS:delete:packages、repo、write:packages)的 PAT 作为password.
  4. \n
\n

两者都在我的中设置~/.gradle/gradle.properties,当我执行任务时它们看起来很println正确publish。我已经验证,使用正确的用户名和 PAT,我可以从命令行克隆存储库。

\n

然而,当我发出 时gradle publish,结果是:

\n
Execution failed for task \':publishGprPublicationToMavenRepository\'.\n> Failed to publish publication \'mavenJava\' to repository \'GitHubPackages\'\n   > Could not PUT \'https://maven.pkg.github.com/hansi_b/moss/org/hansi_b/moss/0.2.0/moss-0.2.0.jar\'. Received status code 401 from server: Unauthorized\n
Run Code Online (Sandbox Code Playgroud)\n

如果我故意弄乱用户名或密码,我会得到同样的错误。我已尝试使用不同的私有存储库进行发布,但以同样的方式失败。

\n

有什么方法可以获取有关问题所在的更多信息吗?我是否缺少某些配置?

\n

我\xe2\x80\x99d 感谢任何指点。

\n

小智 6

我正是处于您的情况,我决定删除属性文件中的引号,如下所示:

//Before   
gpr.user="cappee"
gpr.key="key"

//After
gpr.user=cappee
gpr.key=key
Run Code Online (Sandbox Code Playgroud)

我希望你能根据这个建议解决问题!