将环境变量传递给大型机 JVM
Posted
技术标签:
【中文标题】将环境变量传递给大型机 JVM【英文标题】:Passing Environment variable to Mainframe JVM 【发布时间】:2020-05-20 18:06:54 【问题描述】:我正在运行一个 JAVA 大型机 JAR。它在 z/OS 中使用 IBM JVMLDM 成功运行。我的下一步是集成一个内部日志框架。我需要使用 JCL 中的 STDENV DD 语句将几个环境变量(用户系统属性)传递到 JVM。我在 PARM 文件中使用 IBM(文档)提供的环境变量,如下所示:
IJO="$IJO -DCAR_PROP=6123548595"
EXPORT IBM_JAVA_OPTIONS="$IJO "
我也在以类似的方式使用以下环境变量:
IJO="$IJO -DCAR_PROP=6123548595"
EXPORT JZOS_JVM_OPTIONS="$IJO "
这些选项都不起作用,因为 JAR 仍然无法捕获该属性。寻找一些关于我可能不熟悉的陈述可能存在问题的见解。
文档 https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.iean500/bcdbatch.htm
【问题讨论】:
能否请您发布您的完整启动 JCL?您是否尝试过添加+T
参数来启用JZOS 跟踪?这应该显示 JZOS 已获取的所有环境变量以及使用的 JVM 选项。您是否注意到系统属性区分大小写?像 CAR_PROP
这样的全大写属性对于 java 程序来说看起来很不寻常......
【参考方案1】:
使用小写的export
有效吗?即
IJO="$IJO -DCAR_PROP=6123548595"
export IBM_JAVA_OPTIONS="$IJO "
【讨论】:
那是我的错字。我在 JCL 中使用了小写的“导出”。以上是关于将环境变量传递给大型机 JVM的主要内容,如果未能解决你的问题,请参考以下文章