如何从maven项目引用公共GitHub包

2024-01-03

我有一个 GitHub 存储库,其中包含发布到其自己的 GitHub 包 maven 存储库的库。我还有另一个项目,我想在其中引用这个库作为依赖项。

当我将以下配置添加到项目的 POM 文件中时,它不起作用。

<repositories>
 <repository>
  <id>github</id>
  <name>GitHub Packages</name>
  <url>https://maven.pkg.github.com/test-account/test-lib</url>
 </repository>
</repositories>

它需要我进行身份验证。我知道这是非常合乎逻辑的,因为它基本上不是源代码库,而是底层的 Maven 代码库。但是有没有办法让maven正常访问这个依赖呢?我的图书馆位于公共仓库中。

附:请不要建议使用 Jitpack,因为我希望拥有干净的解决方案而不需要任何额外的资源。


答案似乎是“你不能”。看来自 GitHub 工作人员的评论 https://github.community/t/how-to-allow-unauthorised-read-access-to-github-packages-maven-repository/115517/3:

我们的 Maven 服务目前不允许未经授权的访问。我们计划将来提供此服务,但在此之前需要稍微改进一下服务。

目前,最简单的选择似乎是创建一个具有读取访问权限的个人访问令牌,并将其包含在<repository>您的部分pom.xml, 像这样:

<repository>
  <id>github</id>
  <name>GitHub Packages</name>
  <url>https://my-user:[email protected] /cdn-cgi/l/email-protection/my-user/my-repo</url>
</repository>

否则,选项可能是:

  • 创建具有读取访问权限的个人访问令牌,然后与全世界共享。
  • 使用解决方法此处描述 https://github.community/t/how-to-allow-unauthorised-read-access-to-github-packages-maven-repository/115517/4
  • 发布到 Maven Central(但这真是一个痛苦的世界)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从maven项目引用公共GitHub包 的相关文章

随机推荐