我需要按照 IBM i JAVA 规则设置 java 系统属性。我将使用环境变量 QIBM_RPG_JAVA_PROPERTIES 添加/覆盖 os400.stderr 属性。
我添加了 ADDENVVAR ENVVAR(QIBM_RPG_JAVA_PROPERTIES) +
VALUE('-Dos400.stderr=文件:/QOpenSys/..../LogInfo/stderr.txt;') 替换(*是)
它是在 Scott Klement 调用 HSSFR4 服务程序的上下文中,该程序启动 JVM 调用 JNI 接口(interface)。情况是添加了这个环境变量,java启动了,但是调用JNI时却失败,产生空指针异常。如果我评论 addenvvar 语句,它就会起作用。
此外,我当前收到一条没有定义文本的 java 消息 JVAB55A:https://www.ibm.com/support/pages/node/1589487 。这是 V7R3M0 的 PTF,尽管我们的版本是 7.2。
有人在 IBM i 中从 java 调用跟踪时遇到问题吗? 我是不是忘记了什么?
在我的例子中,获取java跟踪的相应配置如下:
ADDENVVAR ENVVAR(QIBM_RPG_JAVA_PROPERTIES) +
VALUE('-Dos400.stderr=file:/QOpenSys/..../LogInfo/stderr.txt;')
ADDENVVAR ENVVAR(QIBM_USE_DESCRIPTOR_STDIO) VALUE('Y')
ADDENVVAR ENVVAR(QIBM_RPG_JAVA_EXCP_TRACE) VALUE('Y')
最佳答案
已解决。仅声明路径中有错误。跟踪声明和使用。有了这三个值,跟踪就可以工作。就我而言,EBCDIC 中的文本文件可在 IBM i 控制台中读取。当然可以定义 UTF8 或 ASCII 结果。
ADDENVVAR ENVVAR(QIBM_RPG_JAVA_PROPERTIES) +
VALUE('-Dos400.stderr=file:/QOpenSys/..../LogInfo/stderr.txt;') ADDENVVAR ENVVAR(QIBM_USE_DESCRIPTOR_STDIO) VALUE('Y')
ADDENVVAR ENVVAR(QIBM_RPG_JAVA_EXCP_TRACE) VALUE('Y')
关于java - java属性文件中的属性键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61817244/