Класс не найден ошибка в 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 / классы, которые вам понадобятся в любой из ваших программ для этой работы. Также установите желаемую версию виртуальной машины.