Azure Pipeline Gradle任务配置JDK 21报错,求解决方法
解决Azure Pipeline升级JDK21失败的问题
问题原因
你遇到的错误是因为Azure Pipeline代理机器上没有预装JDK21,不管用Gradle@2还是@3,直接指定jdkVersionOption: '1.21'都找不到对应的环境。另外注意:高版本JDK的版本号格式已经调整,应该用21而非1.21来指定。
解决方案1:使用微软托管代理(推荐)
微软托管代理默认未预装JDK21,需要先通过JavaToolInstaller任务自动安装,再执行Gradle任务。完整YAML配置如下:
# 第一步:安装JDK 21 - task: JavaToolInstaller@0 displayName: 'Install JDK 21' inputs: versionSpec: '21' jdkArchitectureOption: 'x64' jdkSourceOption: 'MicrosoftBuildOfOpenJDK' # 从微软官方源安装OpenJDK jdkDestinationDirectory: '$(Agent.ToolsDirectory)/jdk' cleanDestinationDirectory: false # 第二步:执行Gradle任务 - task: Gradle@3 displayName: 'Run checks and tests' inputs: javaHomeOption: 'JDKVersion' jdkVersionOption: '21' # 这里用大版本号21,而非1.21 tasks: 'check jacocoTestCoverageVerification jacocoTestReport'
解决方案2:使用自托管代理
如果是你自己维护的代理机器,按以下步骤操作:
- 手动下载安装JDK21(推荐微软Build的OpenJDK或Oracle JDK)
- 在代理机器上添加环境变量
JAVA_HOME_21_X64,值设为JDK的安装目录(比如C:\Program Files\Java\jdk-21) - 回到Pipeline配置,直接把Gradle任务的
jdkVersionOption改成21即可,无需额外安装任务
内容的提问来源于stack exchange,提问作者Dónal
相关产品推荐
相关产品推荐

