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

GitHub Actions自托管Runner无预装Maven时如何使用mvn命令

无预装、无第三方Action场景下使用mvn命令的方案

不需要管理员权限修改Runner全局环境,也不需要依赖未验证的第三方Action,两种方案均可直接落地:

方案1:工作流内临时下载配置Maven

所有操作仅对当前运行的Job生效,不会修改Runner的全局配置,Job运行结束后临时文件自动清理,完全符合操作限制。
在执行mvn相关命令前插入如下步骤即可:

steps:
  - name: 临时配置Maven运行环境
    run: |
      # 按需替换为你需要的Maven版本,可使用内网镜像地址提升下载速度
      wget -q <Maven二进制压缩包对应地址>
      tar -xzf apache-maven-*-bin.tar.gz -C $HOME
      # 将Maven执行路径加入当前Job的环境变量
      echo "$HOME/apache-maven-*/bin" >> $GITHUB_PATH
      echo "MAVEN_HOME=$HOME/apache-maven-*" >> $GITHUB_ENV
  - name: 验证Maven可用性
    run: mvn -v

Windows环境Runner可替换为PowerShell对应下载、解压、路径配置命令,逻辑完全一致。

方案2:使用GitHub官方setup-java Action自动配置Maven

actions/setup-java是GitHub官方维护的可信Action,不存在账号未验证被拦截的问题,本身内置了Maven自动配置能力,不需要额外依赖第三方setup-maven类Action,配置更简洁:

steps:
  - uses: actions/checkout@v4
  - name: 配置JDK与Maven环境
    uses: actions/setup-java@v4
    with:
      java-version: '17' # 替换为项目实际使用的JDK版本
      distribution: 'temurin'
      maven-version: '3.9.6' # 指定需要的Maven版本,Action自动完成下载配置
  - name: 执行Maven构建
    run: mvn clean package

补充说明

  • 两种方案均不需要管理员权限,不会修改Runner的预装软件目录,符合管理员的操作限制
  • 如需自定义Maven配置(如私有制品库地址、代理配置),可在环境配置完成后,向~/.m2/settings.xml写入对应配置即可,不影响mvn命令正常运行
  • 如果内网有统一的Maven二进制包缓存源,优先使用内网地址下载,避免公网访问限制影响流程稳定性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:27:15