Java 在AS/400中找不到类错误

Java 在AS/400中找不到类错误,java,ibm-midrange,rpgle,Java,Ibm Midrange,Rpgle,我在运行RPG程序时在AS/400中遇到一个错误…我试图从我的RPG程序调用一个java方法。我已经在ADDENVVAR中的classpath变量中添加了名为mail.jar和activation.jar的tw.jar文件…但是错误仍然是说找不到类 Additional Message Information Message ID . . . . . . : RNQ0301 Sev

我在运行RPG程序时在AS/400中遇到一个错误…我试图从我的RPG程序调用一个java方法。我已经在ADDENVVAR中的classpath变量中添加了名为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                                                              
请帮帮我


感谢您的建议。

您的项目需要在您的类路径中使用
javax/mail/Authenticator
始终确保在为您的作业启动Java VM之前设置了类路径。这一点非常重要,因为以后更改它不会改变任何事情,并且不可能在同一个作业中启动新的VM(目前无法完全停止正在运行的VM并在AS/400上启动新的VM)。在交互式作业中,当您运行多个程序时,这是非常令人困惑的

处理这个问题的一种方法是编写一个CL程序,设置类路径,然后运行该程序。请记住,它不是为程序设置的,而是为整个作业设置的,因此您应该通过submit job调用它


在作业中调用第一个java程序(或通过ILE调用的方法)时,VM将使用当前设置启动。因此,始终将classpath变量设置为包含该作业在任何程序中所需的所有JAR/类。然后还要设置所需的VM版本。

但是我已经在我的类路径中添加了mail.jar……这是否足以达到此目的……或者我是否应该添加mail-api.jar打开该jar文件检查该类是否存在您的类路径设置是否中断。在尝试将其与RPG集成之前,您可能希望在QSH中运行它。