RDz JCICS程序失败,因为无法在大型机区域中解析引用库

时间:2017-03-13 12:13:49

标签: java eclipse mainframe cics

我已经包含了' ibmzjos' java Build Path和jar文件中的Jar文件包含在Referenced Libraries中。在MAINFEST.MF文件中提到了相同的内容。

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: JavaProject
Bundle-SymbolicName: JavaProject
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.ibm.cics.server;version="1.300.0"
Bundle-ClassPath: Referenced Libraries/ibmjzos.jar,
.
CICS-MainClass: com.citi.cards.javaMain

在src中,所有错误都被删除,代码看起来很好。当我创建一个捆绑包并在大型机服务器中执行该程序时失败,因为" com.ibm.jzos无法解决:"。

如何解决此问题?

1 个答案:

答案 0 :(得分:3)

编辑:已更新,其中包含JZOS的详细信息。

这里的问题是无法找到JZOS类。我怀疑这是因为它们实际上并未包含在您的捆绑包中。

要测试此功能,请解压缩(或以其他方式探索)导出的捆绑包(JAR文件)。根据您的MANIFEST.MF,我希望在JAR的根目录中有一个名为Referenced Libraries的文件夹,其中包含一个名为ibmjzos.jar的文件。但是,我希望它不存在。

要解决此问题,您需要确保Bundle-ClassPath指向真实文件。请注意,Referenced Libraries不是真正的文件夹,而是Eclipse放置在项目中的伪文件夹,用于显示构建路径中的内容。

  1. 确保ibmjzos.jar位于项目内部,例如项目的根目录或名为lib的文件夹中(我假设后者)。

  2. 更改Bundle-ClassPath的{​​{1}},使其正确指向此文件:

    MANIFEST.MF
  3. 通过修改定义Bundle-ClassPath: lib/ibmjzos.jar 文件中导出文件的属性,确保捆绑包知道在导出的捆绑包中包含此JAR:

    build.properties
  4. 请注意,步骤2-3,以及将JAR添加到构建路径以便IDE中的所有内容都可以通过使用“运行时”的“类路径”部分中的“添加...”按钮进行自动化'{1}}编辑的标签。

    另外一点,JZOS是一个特例,因为它在z / OS上非常有用,因此它从CICS版本5.1开始由系统包导出。因此,无需将其包含在bin.includes = META-INF/,\ .,\ lib/ibmjzos.jar 中,而是需要为相关包提供MANIFEST.MF语句 - 例如,您使用Bundle-ClassPath。为了让您的IDE满意,您需要在开发环境中使用伪包来导出这些包。