gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 20:53:44 27 4
gpt4 key购买 nike

我已将“ibmzjos”Jar 文件包含在 java 构建路径中,并且 jar 文件包含在引用的库中。在 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 无法解析:”。

如何解决这个问题?

最佳答案

编辑:更新以包含 JZOS 的具体细节。

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

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

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

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

  2. 更改 MANIFEST.MFBundle-ClassPath,使其正确指向此文件:

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

    bin.includes = META-INF/,\
    .,\
    lib/ibmjzos.jar

请注意,步骤 2-3 以及将 JAR 添加到构建路径以便所有内容都在 IDE 中编译,可以通过使用“运行时”的“类路径”部分中的“添加...”按钮来自动化' MANIFEST.MF 编辑器的选项卡。

作为进一步的变化,JZOS 是一个特殊情况,因为它在 z/OS 上非常有用,因此从 CICS 版本 5.1 开始,它由系统 bundle 导出。因此,不需要将其包含在 Bundle-ClassPath 中,而是需要为相关包提供 Import-Package 语句 - 例如,您是使用 com.ibm.jzos。为了让您的 IDE 满意,您需要在您的开发环境中有一个伪造的包来导出这些包。

关于java - RDz JCICS 程序失败,因为无法在大型机区域中解析引用库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42763394/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com