Класс не найден ошибка в AS / 400 - PullRequest
0 голосов
/ 31 декабря 2010

Я получаю сообщение об ошибке в AS / 400 при запуске программы RPG ... Я пытаюсь вызвать метод Java из моей программы RPG. Я добавил tw .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 ]

1 голос
/ 22 мая 2012

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

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

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

1 голос
/ 31 декабря 2010

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

...