1

我在 z/OS 上安装了 JZOS 批处理工具包(AlphaWorks 版本):

       - sampjcl.xmit (RECGEN ...)
       - loadlib.xmit ( JVMLDM76 ... )
       - jzos.pax (jzos_recgen.jar , ibmjzos.jar ...)

我正在使用 jzos_recgen.jar 从基于 Java 类的 COBOL Copybooks 生成 Java 类:

com.ibm.jzos.recordgen.cobol.RecordClassGenerator (given by jzos_recgen.jar)

提交“RECGEN”JCL 后,我得到了生成的 Java 类,但带有警告:

JZOS batch Launcher Version '2.4.8 2015-10-28' does not match jzos.jar Version '2.4.3 developerWorks 2011-10-11'

我现在发现 JZOS 批处理工具包是由 IBM Java SDK 提供的,我使用的是 Java 版本 J8.0_64,资源被分隔在不同的文件夹中(//mvstools,/lib/ext)。但我找不到 jzos_recgen.jar 或 Java 类 RecordClassGenerator。

我正在尝试将 JZOS 批处理启动器和 jzos.jar 放在同一版本中。

如果有人知道我在哪里可以找到 z/OS 文件系统上的 RecordClassGenerator ,我将不胜感激?或针对我的情况的类似解决方案?

谢谢。

4

2 回答 2

2

因此,您需要指定一个选项来强制 Java 使用来自 AlphaWorks 而不是来自 SDK 的 JZOS 版本。在我从 JZOS 获得的示例 JCL 中,我可以看到:

# Force the alphaWorks version of JZOS to run overriding the SDK               
OPTS="-Djava.ext.dirs=£{JZOSAW_HOME}:£{JAVA_HOME}/lib/ext"                     
export JZOS_JVM_OPTIONS="£OPTS"                                                

如果我把这些行去掉,我会得到一个类似的错误,如上所示。

于 2016-09-21T08:36:47.280 回答
2

感谢 James 的回答,我刚刚解决了似乎 JZOS 记录生成器尚未集成到 IBM Java SDK 中的问题。所以我们需要做的是手动配置所有不同的路径并调整 COBGEN JCL 示例。

这是路径配置的示例:

export JAVA_HOME=/usr/lpp/java/J8.0_64
JZOSAW_HOME=/u/USERID/jzos   

export PATH=/bin:"${JAVA_HOME}"/bin:

LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
LIBPATH="$LIBPATH":"${JAVA_HOME}"/bin/classic
LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/s390x   #libjzos.so
export LIBPATH="$LIBPATH":

CLASSPATH="$CLASSPATH":"${JAVA_HOME}"/lib/ext/ibmjzos.jar  #JZOS_APIs
CLASSPATH="$CLASSPATH":"${JZOSAW_HOME}"/jzos_recgen.jar    #RecordClassGenerator
export CLASSPATH="$CLASSPATH": 
  • 为 libjzos.so 配置 libpath // IBM Java SDK
  • 为 ibmjzos.jar 配置类路径 // IBM Java SDK
  • 为 Jzos_recgen.jar 配置类路径 // JZOS AlphaWorks 版本包含类“RecordClassGenerator”
  • 删除“Force the alphaWorks version of JZOS to run overriding the SDK”行
于 2016-09-22T10:14:53.667 回答