部署java应用程序谷歌云应用程序引擎Flex环境的问题

问题描述 投票:0回答:1

我正在尝试将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-cloud-platform google-app-engine
1个回答
0
投票

如错误所示,Google App Engine 灵活环境中的 JAR 部署可能不支持

runtime\_config.jdk
选项
java11
,因为它目前支持特定 OpenJDK 版本(如
openjdk8
)的预构建 docker 映像openjdk9
用于 JAR 部署。

此处附有文档供参考。对于这个问题,您可以尝试两种方法。

  1. 您可以使用受支持的 OpenJDK 版本,将

    jdk
    中的
    runtime\_config
    值更改为受支持的版本,例如
    openjdk8
    openjdk9
    。这可确保应用程序在使用所选 OpenJDK 版本的预构建映像上运行。

  2. 您可以尝试切换到 Maven Buildpack,因为建议将 Java 应用程序部署到 Flex 环境。在此附上用于部署 Maven 的文档

© www.soinside.com 2019 - 2024. All rights reserved.