You specified: /iasp1/java/prcExample/rpgExample.jar on your env variable.
And this has: CLASSPATH  '/java/prcExample/rpgExample.jar'
2nd one missing /iasp1   
Not sure if that's relevant but inconsistent.
Regards,
Richard Schoen
Web: 
http://www.richardschoen.net
Email: richard@xxxxxxxxxxxxxxxxx
 
----------------------------------------------------------------------
message: 1
date: Sun, 6 Oct 2024 16:24:59 +0000
from: "Blalock, Bill via JAVA400-L" <java400-l@xxxxxxxxxxxxxxxxxx>
subject: Need help with RNX0301 error -- CLASSPATH or signature error
I am trying to call Jave from RPGLESRC.  I keep running into RNX0301 when executing the RPGLE program.  I have been at it 3 days and sure could use some guidance.
Message . . . . :   Java exception received when calling Java method.
 Cause . . . . . :   RPG procedure PRCPWDIRG in program BLALOCK/PRCPWDIRG
   received Java exception "java.lang.NoClassDefFoundError:rpgExample.Item" when calling
   method "<init>" with signature "()V" in class "Item".
I tried for two days to get past this error with my own class and RPG.  Yesterday I decided to see if I could make RPGLE and Java work together with an example from the Internet.  
https://www.mysamplecode.com/2011/06/call-java-from-rpgle-explanation-with.html  This is a well thought out example.
I wanted to eliminate coding errors in my RPGLE and Java, to minimize the possibility that this is a signature error. Still getting the same error.
I created an Eclipse project, rpgExample.  I copied the Java source from the example into two files, Item.java and GetItem.java.  In Eclipse I exported them to the IFS as a jar file, named rpgExample.jar.  The destination was /iasp1/java/prcExample.  So now I have the jar in /iasp1/java/prcExample/rpgExample.jar.
I create the RPGLE program as BLALOCK/QRPGLESRC (PRCPWDIRG).  I changed the package name from "com.as400samplecode" to match my package name of "rpgExample" in both Java and RPGLE.
I used this statement at the top of the RPGLE program:
         cmdString = 'ADDENVVAR ENVVAR(CLASSPATH) ' +
                  'VALUE(''/iasp1/java/prcExample/rpgExample.jar'')' +
                   'REPLACE(*YES)';
         runCmd(cmdString);
I checked the value of CLASSPATH after executing the program with WRKENVVAR.  The value was
                 CLASSPATH                   '/java/prcExample/rpgExample.jar'
That is what I expected.  I checked the CLASSPATH with WRKLNK.  It was found.
The execution fails with the RNX0301 error.
I cannot understand what is going on.  I'd appreciate some advice.  I can send the source code to you.
Thanks
As an Amazon Associate we earn from qualifying purchases.