我已经包含了' 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无法解决:"。
如何解决此问题?
答案 0 :(得分:3)
编辑:已更新,其中包含JZOS的详细信息。
这里的问题是无法找到JZOS类。我怀疑这是因为它们实际上并未包含在您的捆绑包中。
要测试此功能,请解压缩(或以其他方式探索)导出的捆绑包(JAR文件)。根据您的MANIFEST.MF
,我希望在JAR的根目录中有一个名为Referenced Libraries
的文件夹,其中包含一个名为ibmjzos.jar
的文件。但是,我希望它不存在。
要解决此问题,您需要确保Bundle-ClassPath
指向真实文件。请注意,Referenced Libraries
不是真正的文件夹,而是Eclipse放置在项目中的伪文件夹,用于显示构建路径中的内容。
确保ibmjzos.jar位于项目内部,例如项目的根目录或名为lib
的文件夹中(我假设后者)。
更改Bundle-ClassPath
的{{1}},使其正确指向此文件:
MANIFEST.MF
通过修改定义Bundle-ClassPath: lib/ibmjzos.jar
文件中导出文件的属性,确保捆绑包知道在导出的捆绑包中包含此JAR:
build.properties
请注意,步骤2-3,以及将JAR添加到构建路径以便IDE中的所有内容都可以通过使用“运行时”的“类路径”部分中的“添加...”按钮进行自动化'{1}}编辑的标签。
另外一点,JZOS是一个特例,因为它在z / OS上非常有用,因此它从CICS版本5.1开始由系统包导出。因此,无需将其包含在bin.includes = META-INF/,\
.,\
lib/ibmjzos.jar
中,而是需要为相关包提供MANIFEST.MF
语句 - 例如,您使用Bundle-ClassPath
。为了让您的IDE满意,您需要在开发环境中使用伪包来导出这些包。