在GitHub Actions的Windows环境下如何从pom.xml读取项目版本写入环境变量
问题解决方案
错误原因
windows-latest 运行环境的默认执行Shell为PowerShell,你原run字段里的命令使用的是Bash语法,PowerShell不支持该语法下的命令输出捕获、环境变量引用及重定向逻辑,因此执行失败。
解决方案
方案1:修改为PowerShell兼容语法(推荐)
直接使用PowerShell原生语法捕获版本值并写入环境变量:
- name: Get version run: | $projectVersion = mvn help:evaluate -Dexpression=project.version -q -DforceStdout echo "project_version=$projectVersion" >> $env:GITHUB_ENV
方案2:指定步骤使用Bash执行
无需修改原有命令内容,仅为该步骤指定使用Bash作为执行Shell即可,Windows运行环境内置Git Bash可直接支持:
- name: Get version run: echo project_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) >> $GITHUB_ENV shell: bash
验证
你可以添加以下步骤确认版本值是否正确读取:
- name: Verify project version run: echo "Project version: ${{ env.project_version }}"
内容的提问来源于stack exchange,提问作者Mert Güner
相关产品推荐
相关产品推荐

