You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub托管第三方Maven JAR包?部署遇403及多仓库发布疑问

关于GitHub Packages托管第三方Maven依赖的问题解答

先解决你遇到的403错误

你用的deploy命令里-Durl参数填的是普通GitHub仓库的Git地址,这是错误的。GitHub Packages的Maven仓库地址格式为https://maven.pkg.github.com/OWNER/REPO,而且必须配置正确的身份验证才能上传,这就是触发403的核心原因。

你的两个问题解答

  1. 完全可以用GitHub Packages发布非同一仓库构建的包
    GitHub Packages不限制制品来源,只要你拥有目标仓库的写入权限,不管这个JAR是从哪个项目构建出来的,都能上传到指定的GitHub Packages仓库。

  2. 不同项目的制品可以发布到同一个GitHub Packages仓库
    这完全可行,所有项目只需配置这一个仓库地址就能下载所有依赖,正好满足你简化跨项目依赖配置的需求。

正确的操作步骤

1. 修正后的deploy命令

mvn deploy:deploy-file -Dfile=./tools.jar -DgroupId=com.example -DartifactId=tools -Dversion=1.0 -DgeneratePom=true -Durl=https://maven.pkg.github.com/example-enterprise/3rd-party-jars -DrepositoryId=github
  • 把-DgeneratePom设为true,会自动生成POM文件,方便其他项目依赖;如果有自定义POM,用-DpomFile=./pom.xml指定即可
  • -DrepositoryId要和你Maven配置文件里的服务器ID一致

2. 配置Maven身份验证(settings.xml)

在~/.m2/settings.xml(Windows用户路径为C:\Users\你的用户名\.m2\settings.xml)里添加以下配置:

<settings>
  <servers>
    <server>
      <id>github</id>
      <username>你的GitHub用户名</username>
      <password>你的GitHub个人访问令牌(PAT)</password>
    </server>
  </servers>
</settings>

注意:个人访问令牌必须勾选write:packages权限;如果是组织仓库,你需要拥有该仓库的写入权限。

3. 其他项目引入依赖的配置

在需要使用这些第三方JAR的项目pom.xml中,添加GitHub Packages仓库:

<repositories>
  <repository>
    <id>github</id>
    <name>GitHub example-enterprise 3rd-party Packages</name>
    <url>https://maven.pkg.github.com/example-enterprise/3rd-party-jars</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

之后就能像普通Maven依赖一样引入:

<dependency>
  <groupId>com.example</groupId>
  <artifactId>tools</artifactId>
  <version>1.0</version>
</dependency>

额外注意事项

  • 确保你的PAT权限足够:组织仓库可能需要管理员给你分配写入权限,或者PAT包含repo权限
  • 如果上传SNAPSHOT版本,要确保仓库的快照开关处于开启状态
  • GitHub Packages和GitHub仓库是绑定关系,一个GitHub仓库对应一个Maven制品仓库,所有上传的制品都会存在这个绑定的空间里

内容的提问来源于stack exchange,提问作者Sunracer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 18:33:27