我正在尝试将Java应用程序部署到Google App Engine Flex环境。我使用runtime_config作为jdk:java11。以下是 app.yaml 文件:
runtime: java
env: flex
runtime_config:
jdk: openjdk11
handlers:
- url: /.*
script: this field is required, but ignored
secure: always
automatic_scaling:
min_num_instances: 2
cool_down_period_sec: 120
cpu_utilization:
target_utilization: 0.6
endpoints_api_service:
name: my-project-2-0-dev.appspot.com
config_id: 2023-08-16r1
readiness_check:
path: '/api/status/ready'
check_interval_sec: 30
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
liveness_check:
path: '/api/status/live'
check_interval_sec: 30
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
network:
name: <network_name>
subnetwork_name: <subnetowk_name>
resources:
cpu: 4
memory_gb: 8
我收到以下错误:
Step #1: Exception in thread "main" java.lang.IllegalArgumentException: The provided runtime_config.jdk option 'java11' is invalid for JAR deployments. Please use a supported jdk option: ['openjdk8', 'openjdk9']
Step #1: at com.google.cloud.runtimes.builder.config.domain.JdkServerLookup.lookupJdkImage(JdkServerLookup.java:146)
Step #1: at com.google.cloud.runtimes.builder.buildsteps.RuntimeImageBuildStep.getBaseRuntimeImage(RuntimeImageBuildStep.java:98)
Step #1: at com.google.cloud.runtimes.builder.buildsteps.RuntimeImageBuildStep.run(RuntimeImageBuildStep.java:53)
Step #1: at com.google.cloud.runtimes.builder.BuildPipelineConfigurator.generateDockerResources(BuildPipelineConfigurator.java:104)
Step #1: at com.google.cloud.runtimes.builder.Application.main(Application.java:147)
我打算使用 openjdk11,因为我看到以下警告
WARNING: java 8 and earlier versions will reach end of support on 2024-07-10 for App Engine flexible environment. After 2024-07-10, you cannot deploy new or re-deploy existing applications that use runtimes after their end of support date.
我不确定运行时配置中 java 11 的值应该是什么。我尝试使用“jdk:java11”但没有任何运气。
如错误所示,Google App Engine 灵活环境中的 JAR 部署可能不支持
runtime\_config.jdk
选项 java11
,因为它目前支持特定 OpenJDK 版本(如 openjdk8
和 )的预构建 docker 映像openjdk9
用于 JAR 部署。
此处附有文档供参考。对于这个问题,您可以尝试两种方法。
您可以使用受支持的 OpenJDK 版本,将
jdk
中的 runtime\_config
值更改为受支持的版本,例如 openjdk8
或 openjdk9
。这可确保应用程序在使用所选 OpenJDK 版本的预构建映像上运行。
您可以尝试切换到 Maven Buildpack,因为建议将 Java 应用程序部署到 Flex 环境。在此附上用于部署 Maven 的文档。