9

これは、スレッド「メイン」での例外 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:.

ブローカーのバージョンは 8.0.0.1 で、MQ のバージョンは 7.0.1.3 です。何が間違っているのか教えてください。前の回答によると、クライアントもインストールする必要がありますか?

4

2 に答える 2

7

MQ JARファイルが欠落しているため、WMQv7.0.1。*のWMQ使用Javaマニュアルを確認する必要があります。

MQベースJava(MQ / JMSではない)の場合、少なくとも5つのMQJARファイルが必要です。

  • com.ibm.mq.jar
  • Connector.jar
  • com.ibm.mq.jmqi.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.commonservices.jar
于 2012-12-14T19:24:24.133 に答える
3

いいえ、クライアントをインストールする必要はありません。他の質問の回答は、クライアントjarの非標準インストールに基づいていました。この場合、WMQサーバーが標準インストールされているように見えます。提供したRPMに加えて、MQSeries JRE用のRPMもありますが、ここで問題になるとは思われません。あなたは明らかにいくつかのJREを持っています、おそらくブローカーによってインストールされたものです。

したがって、これは鑑別診断の場合に帰着する必要があります。分割統治。

  1. MQIVTプログラムまたはその他のJavaプログラムを正常に実行しましたか?例外を強制した場合、どうなりましたか?これにより、システム全体であるか、ブローカーの環境に限定されているかがわかります。
  2. CLASSPATHをどこにエクスポートしますか?ブローカーアカウントの.profile?ブローカーの起動スクリプト?ブローカーの起動時に解析されますか
  3. WebSphere MQクラスforJavaに関連する環境変数/opt/mqm/java/bin/setjmsenvで説明されているコマンドを使用してみませんか?ブローカーの起動スクリプトでこのスクリプトをソーシングすると、関連するすべてのクラスがキャプチャされ、それ以降のバージョンにアップグレードするときに一貫して機能するように意図された方法でキャプチャされます。
  4. どのJREを使用していますか?Brokerとともにインストールされたものでない場合は、バージョンが間違っているか、サポートされていないJREプロバイダーからのものである可能性があります。

投稿された質問には、自信を持って答えるのに十分な情報がありませんが、これらの診断の質問に答えることで、質問を絞り込んだり、完全に解決したりすることができます。

于 2012-12-14T19:23:28.700 に答える