2.2.9. Java 环境变量


下表提供了用于配置 OpenJDK 容器行为的 Java 环境变量的完整列表。

表 2.1. 配置环境变量
变量名称描述示例值

AB_JOLOKIA_CONFIG

如果设置,使用此文件(包括 path),作为 Jolokia JVM 代理属性,如 Jolokia 参考手册 中所述。如果没有设置,则使用 manual 中定义的设置创建 /opt/jolokia/etc/jolokia.properties。否则,本文档中的其他设置将被忽略。

/opt/jolokia/custom.properties

AB_JOLOKIA_DISCOVERY_ENABLED

启用 Jolokia 发现。默认值为 false

true

AB_JOLOKIA_HOST

要绑定到的主机地址。默认为 0.0.0.0

127.0.0.1

AB_JOLOKIA_ID

要使用的代理 ID。默认为 $HOSTNAME,即容器 ID。

openjdk-app-1-xqlsj

AB_JOLOKIA_OFF

如果设置,禁用 Jolokia 激活,例如,回显一个空值。默认情况下启用 Jolokia。

true

AB_JOLOKIA_OPTS

要附加到代理配置的额外选项。它们应该以 key=value,key=value,…​ 格式提供。

backlog=20

AB_JOLOKIA_PASSWORD

用于基本身份验证的密码。默认情况下,身份验证将被关闭。

mypassword

AB_JOLOKIA_PORT

要侦听的端口。默认为 8778

5432

AB_JOLOKIA_USER

用于基本身份验证的用户。默认为 jolokia

myusername

AB_PROMETHEUS_ENABLE

启用使用 Prometheus 代理。

true

AB_PROMETHEUS_JMX_EXPORTER_PORT

用于 Prometheus JMX Exporter 的端口。

9799

CONTAINER_CORE_LIMIT

CFS Bandwidth Control 中描述的计算内核限制。

2

CONTAINER_MAX_MEMORY

给定给容器的内存限值。

1024

GC_ADAPTIVE_SIZE_POLICY_WEIGHT

给定到当前的 GC 时间与之前的 GC 时间的权重。

90

GC_CONTAINER_OPTIONS

指定要使用的 Java GC。这个变量的值应该包含所需的 JRE 命令行界面选项,以指定所需的 GC,它会覆盖 -XX:+UseParallelOldGC 的默认值。

-XX:+UseG1GC

GC_MAX_HEAP_FREE_RATIO

GC 年后释放的最大堆百分比以避免缩小。

40

GC_MAX_METASPACE_SIZE

最大元空间大小。

100

GC_METASPACE_SIZE

初始的元空间大小。

20

GC_MIN_HEAP_FREE_RATIO

GC 年后释放的最小堆百分比以避免扩展。

20

GC_TIME_RATIO

指定垃圾回收外部花费的时间比率,例如应用程序执行的时间,以及垃圾回收中花费的时间。

4

HTTPS_PROXY

https 代理的位置。这优先于 http_proxyHTTP_PROXY,用于 Maven 构建和 Java 运行时。

myuser@127.0.0.1:8080

HTTP_PROXY

http 代理的位置。这可用于 Maven 构建和 Java 运行时。

127.0.0.1:8080

JAVA_APP_DIR

应用程序所在的目录。应用程序中的所有路径都相对于这个目录。

myapplication/`

JAVA_ARGS

传递给 java 应用的参数。

-

JAVA_CLASSPATH

要使用的类路径。如果未提供,则 启动脚本将检查文件 JAVA_APP_DIR/classpath,并以字面意义使用其内容作为类路径。如果这个文件不存在,则添加 app dir 中的所有 jars。(class:JAVA_APP_DIR/*)。

-

JAVA_DEBUG

如果设置,则会切换远程调试。默认禁用此选项。

true

JAVA_DEBUG_PORT

用于远程调试的端口。默认为 5005

8787

JAVA_DIAGNOSTICS

将这个变量设置为在发生数据时将一些诊断信息成为标准输出。默认禁用此选项。

true

JAVA_INITIAL_MEM_RATIO

JAVA_OPTS 中不提供 -Xms 选项。这用于根据最大堆大小计算默认初始堆内存。如果在容器没有内存约束的情况下在容器中使用,这个选项无效。如果有内存约束,则 -Xms 设置为此处设定的 -Xmx 内存的比率。默认值为 25,表示 -Xmx 的 25% 用作初始堆大小。您可以通过将此值设置为 0 来跳过此机制,在添加 no -Xms 选项时。

25

JAVA_LIB_DIR

保存 Java jar 文件和可选 类路径 的目录,该文件以单行路径(分开)或带有 jar 文件中列出的 jar 文件。如果没有设置,则 JAVA_LIB_DIRJAVA_APP_DIR 相同。

-

JAVA_MAIN_CLASS

将 用作 java 的参数的主类。当给出这个环境变量时,JAVA_APP_DIR 中的所有 jar 文件都会添加到类路径和 JAVA_LIB_DIR 中。

com.example.MainClass

JAVA_MAX_INITIAL_MEM

JAVA_OPTS 中不提供 -Xms 选项。这用于计算初始堆内存的最大值。如果在容器没有内存约束的情况下在容器中使用,这个选项无效。如果有内存约束,则 -Xms 仅限于在此处设置的值。默认值为 4096 MB,即 -Xms 的计算值不能超过 4096 MB。此变量的值以 MB 表示。

4096

JAVA_MAX_MEM_RATIO

JAVA_OPTS 中不提供 -Xmx 选项。这用于根据容器限制计算默认的 maximal 堆内存。如果在容器没有内存约束的情况下在容器中使用,这个选项无效。如果存在内存限制,-Xmx 会按照此处设定的容器可用内存比率。默认值为 50,这表示可用内存的 50% 用作上限。您可以通过将此值设置为 0 来跳过此机制,在添加了 -Xmx 选项时。

-

JAVA_OPTS

传递给 java 命令的 JVM 选项。

-verbose:class

JAVA_OPTS_APPEND

要附加到 JAVA_OPTS 中的选项的用户指定 Java 选项。

-Dsome.property=foo

LOGGING_SCRIPT_DEBUG

设置为 true 以启用脚本调试。弃用 SCRIPT_DEBUG

true

MAVEN_ARGS

要在调用 Maven 时使用参数替换 默认软件包 hawt-app:build -DskipTests -e.如果还没有绑定到 软件包 执行阶段,请确保运行 hawt-app:build 目标,否则启动脚本不起作用。

-e -Popenshift -DskipTests -Dcom.redhat.xpaas.repo.redhatga package

MAVEN_ARGS_APPEND

额外的 Maven 参数。

-X -am -pl

MAVEN_CLEAR_REPO

如果设置,则构建工件后会删除 Maven 存储库。这可用于使创建的应用程序镜像小,但会阻止增量构建。S2I_ENABLE_INCREMENTAL_BUILDS 将覆盖此变量。默认值为 false

-

MAVEN_LOCAL_REPO

用作本地 Maven 存储库的目录。

/home/jboss/.m2/repository

MAVEN_MIRRORS

如果设置,则启用了多镜像支持,其他 MAVEN_MIRROR_* 变量带有前缀。例如,DEV_ONE_MAVEN_MIRROR_URLQE_TWO_MAVEN_MIRROR_URL

dev-one,qe-two

MAVEN_MIRROR_URL

用于检索工件的镜像的基本 URL。

http://10.0.0.1:8080/repository/internal/

MAVEN_REPOS

如果设置,则启用了多存储库支持,其他 MAVEN_REPO_* 变量带有前缀。例如,DEV_ONE_MAVEN_REPO_URLQE_TWO_MAVEN_REPO_URL

dev-one,qe-two

MAVEN_S2I_ARTIFACT_DIRS

要扫描构建输出的源目录的相对路径,复制到 DEPLOY_DIR。默认为 目标

目标

MAVEN_S2I_GOALS

使用 maven 构建运行的空格分隔的目标列表。例如,mvn $MAVEN_S2I_GOALS。默认为 软件包

软件包安装

MAVEN_SETTINGS_XML

要使用的自定义 Maven settings.xml 文件的位置。

/home/jboss/.m2/settings.xml

NO_PROXY

以逗号分隔的主机、IP 地址或可直接访问的域列表。这可用于 Maven 构建和 Java 运行时。

foo.example.com,bar.example.com

S2I_ARTIFACTS_DIR

用于工件的位置挂载与 save-artifacts 脚本保留,与增量构建一起使用。这不能被最终用户覆盖。

${S2I_DESTINATION_DIR}/artifacts}

S2I_DESTINATION_DIR

S2I 挂载的根目录,如 io.openshift.s2i.destination 标签指定。这不能被最终用户覆盖。

/tmp

S2I_ENABLE_INCREMENTAL_BUILDS

不要删除源和中间构建文件,以便可以保存它们以用于未来的构建。默认值为 true

true

S2I_IMAGE_SOURCE_MOUNTS

源目录中的相对路径逗号分隔列表,应包含在镜像中。列表中可以包含通配符,这些通配符将使用 find 进行扩展。默认情况下,挂载目录的内容与源文件夹类似,其中 S2I_SOURCE_CONFIGURATION_DIR 的内容、S2I_SOURCE_DATA_DIR 以及 S2I_SOURCE_DEPLOYMENTS_DIR 复制到其对应的目标目录中。或者,如果 install.sh 文件位于挂载点的根目录中,它将执行。弃用 CUSTOM_INSTALL_DIRECTORIES

extras/*

S2I_SOURCE_CONFIGURATION_DIR

有关要复制到产品配置目录的目录的相对路径,请参阅 S2I_TARGET_CONFIGURATION_DIR。默认为 配置

配置

S2I_SOURCE_DATA_DIR

有关要复制到产品数据目录的目录的相对路径,请参阅 S2I_TARGET_DATA_DIR。默认为 数据

data

S2I_SOURCE_DEPLOYMENTS_DIR

包含要复制到产品部署目录的目录的相对路径,请参阅 S2I_TARGET_DEPLOYMENTS_DIR。默认为 部署

部署

S2I_SOURCE_DIR

要构建源代码的位置。这不能被最终用户覆盖。

${S2I_DESTINATION_DIR}/src}

S2I_TARGET_CONFIGURATION_DIR

S2I_SOURCE_DIR/S2I_SOURCE_CONFIGURATION_DIR 中文件的绝对路径被复制。

/opt/eap/standalone/configuration

S2I_TARGET_DATA_DIR

复制 S2I_SOURCE_DIR/S2I_SOURCE_DATA_DIR 的绝对路径。

/opt/eap/standalone/data

S2I_TARGET_DEPLOYMENTS_DIR

S2I_SOURCE_DIR/S2I_SOURCE_DEPLOYMENTS_DIR 中文件的绝对路径。此外,这是复制构建输出的目录。

/deployments

http_proxy

http 代理的位置。这优先于 HTTP_PROXY,用于 Maven 构建和 Java 运行时。

http://127.0.0.1:8080

https_proxy

https 代理的位置。这优先于 HTTPS_PROXYhttp_proxyHTTP_PROXY,用于 Maven 构建和 Java 运行时。

myuser:mypass@127.0.0.1:8080

no_proxy

以逗号分隔的主机、IP 地址或可直接访问的域列表。这优先于 NO_PROXY,用于 Maven 构建和 Java 运行时。

*.example.com

prefix_MAVEN_MIRROR_ID

用于指定镜像的 ID。如果省略,会生成一个唯一 ID。

internal-mirror

prefix_MAVEN_MIRROR_OF

通过此条目镜像的存储库 ID。默认为 external:

-

prefix_MAVEN_MIRROR_URL

镜像的 URL。

http://10.0.0.1:8080/repository/internal

prefix_MAVEN_REPO_DIRECTORY_PERMISSIONS

Maven 存储库目录权限。

775

prefix_MAVEN_REPO_FILE_PERMISSIONS

Maven 存储库文件权限。

664

prefix_MAVEN_REPO_HOST

如果不使用完全定义的 URL,则 Maven 存储库主机将回退到服务。

repo.example.com

prefix_MAVEN_REPO_ID

Maven 存储库 ID。

my-repo-id

prefix_MAVEN_REPO_LAYOUT

Maven 存储库布局.

default

prefix_MAVEN_REPO_NAME

Maven 存储库名称。

my-repo-name

prefix_MAVEN_REPO_PASSPHRASE

Maven 存储库密码短语。

maven1!

prefix_MAVEN_REPO_PASSWORD

Maven 存储库密码。

maven1!

prefix_MAVEN_REPO_PATH

Maven 存储库路径(如果没有使用完全定义的 URL)回退到服务。

/maven2/

prefix_MAVEN_REPO_PORT

Maven 存储库端口(如果没有使用完全定义的 URL)回退到服务。

8080

prefix_MAVEN_REPO_PRIVATE_KEY

Maven 存储库私钥。

${user.home}/.ssh/id_dsa

prefix_MAVEN_REPO_PROTOCOL

Maven 存储库协议(如果没有使用完全定义的 URL)回退到服务。

http

prefix_MAVEN_REPO_RELEASES_CHECKSUM_POLICY

Maven 存储库发布 checksum 策略。

warn

prefix_MAVEN_REPO_RELEASES_ENABLED

启用 Maven 存储库发行版本。

true

prefix_MAVEN_REPO_RELEASES_UPDATE_POLICY

Maven repository 发行更新策略。

always

prefix_MAVEN_REPO_SERVICE

如果没有指定 prefix_MAVEN_REPO_URL,用于查找 Maven 存储库服务。

buscentr-myapp

prefix_MAVEN_REPO_SNAPSHOTS_CHECKSUM_POLICY

Maven 存储库快照校验和策略。

warn

prefix_MAVEN_REPO_SNAPSHOTS_ENABLED

启用 Maven 存储库快照。

true

prefix_MAVEN_REPO_SNAPSHOTS_UPDATE_POLICY

Maven 存储库快照更新策略。

always

prefix_MAVEN_REPO_URL

Maven 存储库完全定义的 URL。

http://repo.example.com:8080/maven2/

prefix_MAVEN_REPO_USERNAME

Maven 存储库用户名。

mavenUser

表 2.2. 使用默认值配置环境变量
变量名称描述

AB_JOLOKIA_AUTH_OPENSHIFT

切换到 OpenShift TLS 通信的客户端身份验证。此参数的值可以是相对可区分名称,它必须包含在出示客户端的证书中。启用此参数会自动将 Jolokia 切换到 https 通信模式。默认 CA 证书设置为 /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

true

AB_JOLOKIA_HTTPS

切换到安全与 https 的通信。默认情况下,如果在 AB_JOLOKIA_OPTS 中未提供 serverCert 配置,则会生成自签名证书。

true

AB_JOLOKIA_PASSWORD_RANDOM

确定是否生成随机 AB_JOLOKIA_PASSWORD。设置为 true 以生成随机密码。生成的值被写入 /opt/jolokia/etc/jolokia.pw

true

AB_PROMETHEUS_JMX_EXPORTER_CONFIG

用于 Prometheus JMX Exporter 的配置路径。

/opt/jboss/container/prometheus/etc/jmx-exporter-config.yaml

S2I_SOURCE_DEPLOYMENTS_FILTER

复制部署时要应用空格分开的过滤器列表。默认为 *

*

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.