java - 如何使用 Gradle 推送到 Github 包注册表

标签 java maven gradle github-package-registry

试图将 Gradle 项目推送到 Github 包注册表,但没有按预期工作。

使用 io.freefair.github.package-registry-maven-publish Gradle 插件。

build.gradle中配置GitHub需要发布的数据 - 下面的代码。并运行发布任务publishAllPublicationsToGutHub .没有出错,但我在 GitHub 包注册表中看不到我的包。

github {
    slug
    username = "myGitUserName"
    token = "myTokenWithRightAccess"
    tag = "HEAD"
    travis = true
}

期待一些关于如何使用 Gradle 发布到 Github 包注册表的示例,或者我在发布时做错了什么

最佳答案

新答案 :

GitHub 已发布官方指南:Configuring Gradle for use with GitHub Packages .

旧答案 :

好像是插件is not very stable yet .看看the repository I've created一切都设置好了。我设法使用该插件发布了一些软件包 here .

即使发布了包,由于 maven-metadata.xml 的一些问题,Gradle 也会显示任务失败。 :

> Task :publishMainPublicationToGitHub madhead Maven PackagesRepository FAILED
Could not transfer metadata so57323260:test/maven-metadata.xml from/to remote (https://maven.pkg.github.com/madhead): Could not get resource 'so57323260/test/maven-metadata.xml'

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':publishMainPublicationToGitHub madhead Maven PackagesRepository'.
> Failed to publish publication 'main' to repository 'GitHub madhead Maven Packages'
   > Could not GET 'https://maven.pkg.github.com/madhead/so57323260/test/maven-metadata.xml'. Received status code 422 from server: Unprocessable Entity

不过没关系,说不定哪天就修好了。

我注意到,由于 groupId 不正确,软件包可能不会发布(请参阅 linked issue ) Maven 出版物。现在看起来应该等于 Github 的项目名称。所以,就我而言,我不得不使用 so57323260作为 groupId对于 madhead/so57323260项目。这不是包通常在 Maven 中的工作方式,所以这可能是您的问题。

关于java - 如何使用 Gradle 推送到 Github 包注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57323260/

相关文章:

Java iText 合并冲压文件

java - 如何在 Struts 2 中创建自定义 URL?喜欢 www.twitter.com/goodyzain

Java8 maven raise 错误引用过滤器不明确

java - JUnit 5 : Is it possible to set a TestExecutionListener in Maven Surefire Plugin?

groovy - Artifactory Gradle插件抛出异常的强制转换异常

java - 由于缺少排除的依赖项,Gradle compileJava 失败

java - 使用 -Xlint :unchecked for details 重新编译

java - 当调试器完成应用程序时,如何使 Eclipse 自动跳回开发视角?

maven - com.mysql.cj.jdbc.Driver、MySQL Connector 和 IntelliJ IDEA 出现 ClassNotFoundException

spring - 在Spring Boot应用程序中将Gradle用作Nexus As Dependency Resolver