gpt4 book ai didi

java - 在 github 存储库中托管私有(private) Maven Artifact

转载 作者:搜寻专家 更新时间:2023-11-01 03:48:42 26 4
gpt4 key购买 nike

我正在使用以下解决方案 Hosting a Maven repository on github在 github 上托管私有(private) Maven 存储库

我已经成功地将 Maven Artifact 部署到 mvn-repo 分支下的 github 存储库。

问题是我很难在其他项目中将此 Artifact 用作 Maven 依赖项。我在依赖的 pom.xml 中添加了存储库设置

  <repository>
<id>github</id>
<name>{name}</name>
<url>https://raw.github.com/{repo-owner}/{repo-name}/mvn-repo/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>

我已经配置了settings.xml文件

<server>
<id>github</id>
<username>{github-user-name}</username>
<password>{github-user-password}</password>
</server>

当我尝试安装该项目时,我收到有关找不到 Artifact 的错误,当我将 Artifact github 存储库设置为公共(public)存储库时,一切正常,所以很明显这是一个身份验证问题。奇怪的是,我使用了相同的凭据,以便在第一步中成功地将 Artifact 部署到同一个 github 存储库。

我还尝试通过从 github 生成访问 token 并在 settings.xml 中使用它来使用“个人访问 token ”概念,如下所示:

 <server>
<id>github</id>
<password>{personal_access_token}}</password>
</server>

但没有成功...所以基本上我已经完成了一半,我设法在 github 存储库中创建了可以分发的 maven Artifact ,但我需要它是私有(private)存储库。

任何人都可以提供帮助,非常感谢您的回答。

最佳答案

这不能单独使用 maven 来完成,raw.github.com 在访问私有(private)存储库时期望在 url 末尾有一个访问 token ,但 maven 中没有提供此 token 的选项。

替代方法

为用户提供安装脚本

您可以为用户提供一种安装程序脚本,用于下载依赖项并将它们安装到他们的本地 Maven 存储库中。您可以使用以下方式在本地安装 jar:

mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>

您的安装程序应该将其中一些命令捆绑在一起以获得您想要的。

相关:Guide to installing 3rd party JARs

托管您自己的 maven 依赖服务器

你不需要快速计算机来托管 maven 项目的依赖项,我过去有一个 Raspberry PI,我在那里使用带有 sendfile 选项的 nginx 来获得性能良好的静态文档服务器,请记住 maven 针对本地进行了优化内容,它只下载一个文件并在剩余时间内切换到本地文件。

免责声明:我不隶属于 Raspberry PI 公司。

关于java - 在 github 存储库中托管私有(private) Maven Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34832667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com