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

AWS CodeBuild Windows 2019配置Corretto17未生效问题咨询

在AWS CodeBuild Windows 2019环境中指定Corretto 17无效的问题解决

问题背景

我在AWS CodeBuild的Windows Server 2019环境构建JavaFX应用,因为要用jpackage打包Windows安装程序,必须用Java 14及以上版本(Java 11不支持jpackage)。按照AWS文档,windows-base:2019-2.0环境支持Corretto 17,所以我在构建spec里配置了:

phases:
  install:
    runtime-versions:
      java: corretto17

但执行java --version检查时,输出还是Java 11:

openjdk 11.0.15 2022-04-19 LTS
OpenJDK Runtime Environment Corretto-11.0.15.9.1 (build 11.0.15+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.15.9.1 (build 11.0.15+9-LTS, mixed mode)

解决方法

1. 检查并修正PATH环境变量

Windows环境下,CodeBuild设置runtime-version后,PATH可能没自动优先指向Corretto 17的路径。可以先在build阶段加命令查看当前PATH:

echo $env:PATH

Corretto 17默认安装路径一般是C:\Program Files\Amazon Corretto\jdk17.x.x_xx,如果这个路径不在PATH最前面,系统会先找到Java 11的路径。

手动在构建spec里更新PATH:

phases:
  install:
    runtime-versions:
      java: corretto17
  build:
    commands:
      # 先确认Corretto 17的具体安装目录
      - dir "C:\Program Files\Amazon Corretto\"
      # 设置JAVA_HOME并更新PATH
      - $env:JAVA_HOME = "C:\Program Files\Amazon Corretto\jdk17.0.9_9"
      - $env:PATH = "$env:JAVA_HOME\bin;$env:PATH"
      # 再次检查版本
      - java --version
      # 执行你的构建和jpackage命令

注意把jdk版本号换成你实际看到的目录名。

2. 确认CodeBuild镜像版本

确保项目用的是windows-base:2019-2.0或更高版本的镜像。可以在项目的环境设置里检查,或者直接在构建spec中指定:

environment:
  image: aws/codebuild/windows-base:2019-2.0

3. 清理构建缓存

CodeBuild的缓存可能保留了旧的Java环境配置,尝试临时禁用缓存后重新构建,看是否能加载正确的Corretto 17版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:33:35