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

GitHub Actions runner缺失JAVA_HOME,Leiningen无法找到Java可执行文件

解决GitHub Actions中Leiningen找不到Java的问题

问题原因

虽然actions/setup-java@v4成功安装了JDK,但后续的oxr463/setup-leiningen步骤无法识别Java可执行文件。这是因为部分第三方Action不会自动继承前序步骤设置的环境变量,导致Leiningen找不到PATH里的Java路径。


解决方案1:手动安装Leiningen(推荐)

放弃第三方Leiningen Action,直接在同一个环境下手动安装并执行命令,确保复用已配置好的Java环境:

- name: Set up JDK 17     
  uses: actions/setup-java@v4
  with:
        java-version: '17'
        distribution: 'temurin'
- name: Install Leiningen and build uberjar
  run: |
    # 下载Leiningen脚本并授权
    curl -O https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
    chmod +x lein
    sudo mv lein /usr/local/bin/
    # 执行构建流程
    lein uberjar && cp "$(find . -name '*.jar')" .

解决方案2:修复环境变量传递

如果一定要用第三方Leiningen Action,需要显式把Java路径加入全局PATH,让后续步骤能识别到:

- name: Set up JDK 17     
  uses: actions/setup-java@v4
  with:
        java-version: '17'
        distribution: 'temurin'
- name: Add Java to global PATH
  run: echo "$JAVA_HOME/bin" >> $GITHUB_PATH
- name: Use oxr463/setup-leiningen
  uses: oxr463/setup-leiningen@0.0.1
  with:
    exec: |
          lein uberjar && \
          cp "$(find . -name '*.jar')" .

说明

$GITHUB_PATH是GitHub Actions的特殊环境变量文件,修改它会让所有后续步骤的PATH都包含Java的bin目录,确保Leiningen能找到Java可执行文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:03:24