AS / 400中未找到类错误

时间:2010-12-31 11:12:47

标签: java ibm-midrange rpgle

我在运行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                                                              

请帮帮我.......

先谢谢...

2 个答案:

答案 0 :(得分:1)

您的项目需要在javax/mail/Authenticator

的类路径中mail-api.jar

答案 1 :(得分:1)

始终确保在为您的作业启动Java-VM之前设置类路径。这非常重要,因为稍后更改它不会改变任何内容,并且无法在同一作业中启动新VM(目前无法干净地停止正在运行的VM并在AS上启动新VM 400)。当您运行多个程序时,这在交互式作业中非常混乱。

处理此问题的一种方法是编写一个设置类路径的CL程序,然后运行该程序。请记住,它没有为程序设置,它是为整个作业设置的,所以你应该通过提交作业来调用它。

在作业中调用第一个java程序(或通过ILE的方法)的那一刻,VM将使用当前设置启动。因此,始终将classpath var设置为包含您在该任务的任何程序中所需的所有jar /类。同时设置所需的VM版本。