Класс не найден ошибка в AS/400

Я получаю сообщение об ошибке в AS/400 при запуске программы RPG... Я пытаюсь вызвать метод Java из моей программы RPG. Я добавил два.jar файла с именем mail.jar и активации.jar в переменную classpath в ADDENVVAR.... Но все равно ошибка говорит, что класс не найден...

                        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                                                              

Пожалуйста, помогите мне.......

Спасибо в Adv...

2 ответа

Вашему проекту нужен mail-api.jar в вашем classpath для javax/mail/Authenticator

Всегда убедитесь, что вы установили classpath до запуска Java-VM для вашей работы. Это очень важно, потому что изменение этого позже ничего не меняет, и невозможно запустить новую виртуальную машину в том же задании (в настоящее время нет способа аккуратно остановить работающую виртуальную машину и запустить новую в AS/400). Это очень запутанно в интерактивной работе, когда вы запускаете несколько программ.

Один из способов справиться с этим - написать CL-программу, которая устанавливает путь к классу, а затем запускает программу. Просто помните, что он не установлен для программы, он установлен для всей работы, поэтому вам следует вызвать его с помощью отправки задания.

В тот момент, когда в работе вызывается первая Java-программа (или метод через ILE), виртуальная машина запускается с текущими настройками. Поэтому всегда устанавливайте classpath var, чтобы он содержал все jar / классы, которые вам понадобятся в любой из ваших программ для этой работы. Также установите желаемую версию виртуальной машины.

Другие вопросы по тегам