我在运行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
请帮帮我.......
先谢谢...
答案 0 :(得分:1)
您的项目需要在javax/mail/Authenticator
答案 1 :(得分:1)
始终确保在为您的作业启动Java-VM之前设置类路径。这非常重要,因为稍后更改它不会改变任何内容,并且无法在同一作业中启动新VM(目前无法干净地停止正在运行的VM并在AS上启动新VM 400)。当您运行多个程序时,这在交互式作业中非常混乱。
处理此问题的一种方法是编写一个设置类路径的CL程序,然后运行该程序。请记住,它没有为程序设置,它是为整个作业设置的,所以你应该通过提交作业来调用它。
在作业中调用第一个java程序(或通过ILE的方法)的那一刻,VM将使用当前设置启动。因此,始终将classpath var设置为包含您在该任务的任何程序中所需的所有jar /类。同时设置所需的VM版本。