GitHub Actions配置actions/setup-java报Map Entry缩进错误
actions/setup-java Map Entry缩进错误排查与修复 错误触发原因
该错误属于YAML语法解析错误,和Action本身逻辑无关,核心诱因有两个:
- YAML为缩进敏感语法,配置块层级缩进不匹配、混用Tab和空格缩进都会触发Map结构解析失败
- 配置中保留了大量仅写键名、无实际赋值的可选参数行(如
architecture: # optional, default is x64),这类行后无有效YAML值,会被解析器判定为非法空Map条目
排查修复步骤
- 统一缩进规则:整个工作流文件全程使用2空格缩进,禁止插入Tab字符,严格对齐层级:
- 工作流
jobs下的步骤块以-开头标记单个步骤,步骤内的name/uses/with属性和-后首字符对齐 with块下的所有配置参数,需比with行多缩进2个空格
- 工作流
- 清理无效配置行:所有不需要自定义的可选参数直接整行删除,不要保留“键名+注释”的空值行;如果需要修改可选参数默认值,必须在冒号后显式填写对应配置值,不能留空
- 修正注释转义问题:配置注释中误写的HTML转义字符
=>改回原生=>即可,YAML注释不需要做HTML转义
可直接运行的修复后配置示例
# 工作流其他基础配置(触发条件、任务名等)按你的实际需求保留 jobs: your-job-name: runs-on: ubuntu-latest steps: - name: Setup Java JDK uses: actions/setup-java@v1.3.0 with: java-version: '1.8' java-package: jdk # 需自定义的可选参数显式赋值后再保留,例: # architecture: x64
补充提示:
actions/setup-java@v1版本已停止维护,修复缩进后如果出现运行器兼容问题,可直接将版本替换为actions/setup-java@v3,上述配置参数无需修改即可兼容。
内容的提问来源于stack exchange,提问作者Camila L. Oliveira
相关产品推荐
相关产品推荐

