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

如何使用Maven替代bash命令实现GitHub Package Registry自动部署

实现方案说明

该需求完全可实现,通过配置Maven配置文件和项目pom.xml即可直接通过mvn deploy命令完成部署,无需依赖bash脚本。

步骤1:配置Maven认证信息(settings.xml)

首先修改本地Maven配置文件(默认路径为~/.m2/settings.xml,Windows系统为C:\Users\你的用户名\.m2\settings.xml),添加GitHub Packages的认证信息:

<settings>
  <servers>
    <server>
      <!-- 此处id需要和后续pom.xml中的repositoryId保持一致 -->
      <id>github</id>
      <username>你的GitHub用户名</username>
      <!-- 密码为GitHub Personal Access Token,需要勾选write:packages、read:packages、repo权限 -->
      <password>你的GitHub访问令牌</password>
    </server>
  </servers>
</settings>

步骤2:配置项目pom.xml

根据你的部署参数,pom.xml需要补充如下配置:

<project>
  <!-- 基础信息需要和你之前部署参数保持一致 -->
  <groupId>com.soma</groupId>
  <artifactId>my-module</artifactId>
  <version>1.0.0</version>
  <packaging>jar</packaging>

  <!-- 部署仓库配置 -->
  <distributionManagement>
    <repository>
      <id>github</id>
      <url>https://maven.pkg.github.com/你的GitHub用户名/my-artifacts</url>
    </repository>
  </distributionManagement>

  <!-- GitHub Packages强制要求的必填配置,缺失会部署失败 -->
  <licenses>
    <license>
      <name>MIT License</name>
      <url>https://opensource.org/licenses/MIT</url>
    </license>
  </licenses>
  <developers>
    <developer>
      <id>你的GitHub用户名</id>
      <name>你的名称</name>
    </developer>
  </developers>
  <scm>
    <connection>scm:git:git@github.com:你的GitHub用户名/my-artifacts.git</connection>
    <url>https://github.com/你的GitHub用户名/my-artifacts</url>
  </scm>

  <!-- 如果是部署当前项目编译生成的jar,不需要额外配置插件;如果是部署本地已存在的第三方jar,需要添加如下插件配置 -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>3.1.1</version>
        <executions>
          <execution>
            <phase>deploy</phase>
            <goals>
              <goal>deploy-file</goal>
            </goals>
            <configuration>
              <file>本地jar包路径,例如./my-module.jar</file>
              <groupId>com.soma</groupId>
              <artifactId>my-module</artifactId>
              <version>1.0.0</version>
              <packaging>jar</packaging>
              <repositoryId>github</repositoryId>
              <url>https://maven.pkg.github.com/你的GitHub用户名/my-artifacts</url>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

步骤3:执行部署

配置完成后,直接在项目根目录执行以下命令即可完成部署:

mvn deploy

常见注意事项

  • 生成GitHub Personal Access Token时,必须勾选write:packages、read:packages、repo三个权限,否则会部署报错401或403
  • pom.xml中填写的GitHub用户名、仓库名必须和实际地址一致,否则会出现404错误
  • 若为多模块项目,distributionManagement节点可以统一放到父pom.xml中,子模块无需重复配置

内容的提问来源于stack exchange,提问作者João Paraná

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:27:02