0

RPG プログラムの実行中に AS/400 でエラーが発生しました...RPG プログラムから Java メソッドを呼び出そうとしています。ADDENVVAR のクラスパス変数に、mail.jar と activation.jar という tw .jar ファイルを追加しました....それでも、クラスが見つからないというエラーが表示されます...

                        Additional Message Information                         

Message ID . . . . . . :   RNQ0301       Severity . . . . . . . :   99         
Message type . . . . . :   Sender copy                                         
Date sent  . . . . . . :   12/31/10      Time sent  . . . . . . :   12:01:08   

Message . . . . :   Java exception received when calling Java method (C G D    
  F).                                                                          
Cause . . . . . :   RPG procedure MAILERDEMO in program SAHOON1/MAILERDEMO     
  received Java exception "java.lang.NoClassDefFoundError:                     
  javax/mail/Authenticator" when calling method "sendSimpleMail" with          
  signature                                                                    
  "(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;)V 
  " in class "demo.Mailer".                                                    
Recovery  . . . :   Contact the person responsible for program maintenance to  
  determine the cause of the problem.                                          
Possible choices for replying to message . . . . . . . . . . . . . . . :       
                                                                       More... 
Reply  . . . :   F                                                              

私を助けてください.......

前もって感謝します...

4

2 に答える 2

1

常に、ジョブのJava-VMを開始する前にクラスパスを設定してください。これは非常に重要です。後で変更しても何も変更されず、同じジョブで新しいVMを開始することはできません(現在、実行中のVMをクリーンに停止してAS/で新しいVMを開始する方法はありません。 400)。これは、複数のプログラムを実行する場合のインタラクティブなジョブでは非常に混乱します。

これを処理する1つの方法は、クラスパスを設定してからプログラムを実行するCLプログラムを作成することです。プログラムには設定されておらず、ジョブ全体に設定されていることを覚えておいてください。その場合は、送信ジョブを介して呼び出す必要があります。

ジョブで最初のJavaプログラム(またはILEを介したメソッド)が呼び出された瞬間に、VMは現在の設定で開始されます。したがって、クラスパス変数は、そのジョブのプログラムに必要なすべてのjar/クラスを含むように常に設定してください。次に、VMの目的のバージョンも設定します。

于 2012-05-22T15:49:55.683 に答える
1

プロジェクトには、クラスパスにmail-api.jarが必要です。javax/mail/Authenticator

于 2010-12-31T11:19:09.870 に答える