1

ClassNotFoundErrorRPG から Java メソッドを呼び出している間、ご協力をお願いいたします。これは、私以外のユーザーが私のプログラムを実行しようとしたときに発生します。文字通りCLASSPATHまたはjarファイルへのアクセスに問題があるようですが、その側面からも試しました。

説明: jar ファイルで Java メソッドを呼び出す RPG プログラムがあります。私の CLASSPATH には、適切な jar が含まれています (JtOpen jar ファイル)。緑と黒の画面 (Iseries セッション マネージャー) から RPG プログラムを実行すると、完全に動作します。別のユーザーが同じ方法で実行しようとすると、次のエラーメッセージがスローされます。

RPG Procedure received Java Exception java.lang.NoClassDefFoundError: com.ibm.as400.access.AS400 when calling method "invokeApiPgm" with signature "([Ljava.lang.String;Ljava.lang.String;I[Ljava.lang.String;)Z" in class "callIceApi.CallIceApiPgm".

上記の署名は、私が呼び出すメソッドの署名とも同じです。Java が不平を言っているクラスは AS400 のもののように見えますか、それとも私のものでしょうか? AS400 クラスが公開されていることがわかります。クラス オブジェクトは、クラスのコンストラクターによって正常に作成されました。main メソッドを呼び出すと失敗するだけinvokeApiPgmです。

みんな、私が何を見逃している、または台無しにしていると思いますか?

ご協力いただきありがとうございます!

テウェル

4

2 に答える 2

0

最初は、Eclipse からエクスポートした同じ外部 Jar にすべての Jar とファイルがあり、Jar のパスを CLASSPATH に追加してもうまくいきませんでした。ただし、理由はわかりませんが、JT400.Jarを個別に取り出してから、そのパスをCLASSPATHに含めた後、ベニーの答えとして機能し、メインプロジェクトjarへの別のインクルードが正しく機能しました。

ありがとうベニー!

于 2013-10-17T14:38:29.090 に答える