这与之前的问题Exception in thread “main” java.lang.NoClassDefFoundError: com/ibm/mq/MQException
类似我在Linux中遇到类似的问题。我安装了以下内容:
MQSeriesRuntime-7.0.1-3.x86_64.rpm
MQSeriesSDK-7.0.1-3.x86_64.rpm
MQSeriesJava-7.0.1-3.x86_64.rpm
MQSeriesServer-7.0.1-3.x86_64.rpm
当我创建一个执行组时,我得到:
java.lang.ClassNotFoundException: com.ibm.mq.MQException
我使用以下代码行设置CLASSPATH
:
export CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/com.ibm.mq.jmqi.jar:/opt/mqm/java/lib/com.ibm.mq.jar:.
broker的版本是8.0.0.1,MQ的版本是7.0.1.3。你能告诉我有什么问题吗?根据之前的回答,我是否应该安装客户端?
答案 0 :(得分:7)
您需要查看WMQ使用Java手册获取WMQ v7.0.1。*,因为您缺少MQ JAR文件。
对于MQ基础Java(不是MQ / JMS),您至少需要5个MQ JAR文件:
答案 1 :(得分:3)
不,您不需要安装客户端。另一个问题的回答是基于非标准安装客户端jar。在这种情况下,您似乎具有WMQ Server的标准安装。除了您提供的RPM之外,还有一个MQSeries JRE的RPM,尽管我不希望这是问题。你显然有一些JRE,可能是Broker安装的JRE。
所以这应该归结为鉴别诊断的情况。分而治之。
/opt/mqm/java/bin/setjmsenv
命令?在代理启动脚本中获取此脚本将捕获所有相关类,并以在升级到更高版本时一致工作的方式执行此操作。在发布的问题中没有足够的信息来提供自信的答案,但回答这些诊断问题应该有助于缩小范围或完全解决问题。