This is really a limitation for Java on IBM i . It's not only for J9 but 
also for Classic JVM on i. Is your application a new app with Java on i? 
Or it worked someway before you move to J9? 
For RPG calling Java, there is a workaround way to make your application 
work is that you can using a java.endorsed.dirs property to include  the 
folders containing your JARs. 
addenvvar QIBM_RPG_JAVA_PROPERTIES 
value('-Djava.endorsed.dirs=/Java;/Java/lib;')
Wish it can work for you.
Best regards.
____________________________________________________________________________________________ 
Gavin, Zhang Gan
IBM i J9 Dev, 
http://www.ibm.com/developerworks/ibmi/techupdates/java
Email: zhanggan@xxxxxxxxxx
Phone: +86-10-82452719
Address: 1/F, 28, ZhongGuanCun Software Park, No.8 Dong Bei Wang West 
Road, Haidian District, Beijing P.R.China 100193
"Sonin,Nikolai" <nsonin@xxxxxxxxxxx> 
Sent by: java400-l-bounces@xxxxxxxxxxxx
09/28/2012 12:13 AM
Please respond to
Java Programming on and around the IBM i <java400-l@xxxxxxxxxxxx>
To
<java400-l@xxxxxxxxxxxx>, 
cc
Subject
J9 JVM not compliant?
To All:
 
I am trying to use the 32 bit J9 JVM that is 1.6 of java on V5R4M5 from
an ILE RPG program:
 
The following code:
 
D q               s              1a   inz('''') 
 /free 
 
  Exec_Command('CHGCURDIR  DIR(' + q + '/java/' + q + ')'); 
 
  Exec_Command('ADDENVVAR ENVVAR(CLASSPATH) REPLACE(*YES) ' + 
    'VALUE(' + 
     q + 
     '.:/Java/*.jar:/Java/lib/*.jar:/Java/rpgmail.jar' + 
     q + 
      ')'); 
 
   Exec_Command('ADDENVVAR ENVVAR(JAVA_HOME) REPLACE(*YES) ' + 
   'VALUE('+ q + '/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit' 
   + q + ')'); 
   return; 
 
  /end-free 
 P                 e 
 
Is supposed to set the JAVA_HOME ENVVAR and the CLASSPATH ENVVAR for the
JVM before using the Java Mail API.
It does this:
CLASSPATH                   '.:/Java/*.jar:/Java/lib/*.jar:/Jav' > 
 JAVA_HOME                   '/QOpenSys/QIBM/ProdData/JavaVM/jdk' > 
 
But this is what I get in the Job Log:
 
Message ID . . . . . . :   RNX0301       Severity . . . . . . . :   50
Message type . . . . . :   Escape
Date sent  . . . . . . :   09/27/12      Time sent  . . . . . . :
12:06:09 
 
Message . . . . :   Java exception received when calling Java method.
Cause . . . . . :   RPG procedure RPGMAIL_NE in program
SONINIKO/RPGMAILSV 
  received Java exception "java.lang.NoClassDefFoundError:
javax.mail.Address"
  when calling method "<init>" with signature "()V" in class
  "com.mowyourlawn.rpgmail.RPGMail".
 
According to Oracle in Java 6 specifying the directory or *.jar  in the
classpath is supposed search all of the jar files in the directory.
Obviously I am doing something wrong or IBM did not get the message.
What am I doing wrong?
Thanks in advance for your time and effort.
 
Nick Sonin
 
 
As an Amazon Associate we earn from qualifying purchases.