Re: Need help with RNX0301 error -- CLASSPATH or signature error

Colin Williams <[email protected]> Sun, 6 Oct 2024 19:41:19 +0100
Newsgroups gmane.comp.lang.as400.java
Message-ID <CAJOH7P3u7PvO5TVHF8PQnpWvTOZLsRGa22fb3RDtK=4GaobD5Q@mail.gmail.com>
So your code is looking for fully qualified rpgExample.Item.

Is this inside your classes folder in your jar?

On Sun, 6 Oct 2024, 17:25 Blalock, Bill via JAVA400-L, <
[email protected]> wrote:

> 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
>
>
>
>
>
>
> Bill Blalock
> Complete Payment Recovery Services
> C  (205) 292-0725
> E  [email protected]<mailto:[email protected]>
>
> The information contained in this message is proprietary and/or
> confidential. If you are not the intended recipient, please: (i) delete the
> message and all copies; (ii) do not disclose, distribute or use the message
> in any manner; and (iii) notify the sender immediately. In addition, please
> be aware that any message addressed to our domain is subject to archiving
> and review by persons other than the intended recipient. Thank you. Message
> Encrypted via TLS connection
> --
> This is the Java Programming on and around the IBM i (JAVA400-L) mailing
> list
> To post a message email: [email protected]
> To subscribe, unsubscribe, or change list options,
> visit: https://lists.midrange.com/mailman/listinfo/java400-l
> or email: JAVA400-L-request-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org
> Before posting, please take a moment to review the archives
> at https://archive.midrange.com/java400-l.
>
-- 
This is the Java Programming on and around the IBM i (JAVA400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org
Before posting, please take a moment to review the archives
at https://archive.midrange.com/java400-l.