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

"Blalock, Bill via JAVA400-L" <[email protected]> Mon, 7 Oct 2024 12:02:08 +0000
Newsgroups gmane.comp.lang.as400.java
Message-ID <PAXPR08MB7230124817648EADEE5E4155837D2@PAXPR08MB7230.eurprd08.prod.outlook.com>
Hi Colin;

The latest example which I added last night accesses the classes straight out of /home/abc (per example).

I build jars with Eclipse.  Right click project > export > Java > jar

Thank you for your time.

-----Original Message-----
From: JAVA400-L <java400-l-bounces-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org> On Behalf Of Colin Williams
Sent: Monday, October 7, 2024 1:54 AM
To: Java Programming on and around the IBM i <[email protected]>
Subject: Re: Need help with RNX0301 error -- CLASSPATH or signature error

I think the structure of your jar file should match the structure of your target folder in eclipse.

Normally your classes would be in a folder called classes in both the target folder and your jar file

How are you creating your jar file?

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

> Hi Colin;
>
> The Item class is in the jar.  The package name is rpgExample.
>
> I viewed the structure of the jar by copying it to a zip file and
> opening the zip file.
>
> rpzExampleJar.jar
>         META-INFO
>                 MANIFIST.MF
>         rpgExample
>                 GetItem.class
>                 GetItem.jar
>                 Item.class
>                 Item.jar
>         folders for other projects in the Eclipse workspace.
>
>
> -----Original Message-----
> From: JAVA400-L <java400-l-bounces-+hD5IHI5Xscn3HwCXmMcX9BPR1lH4CV8@public.gmane.org> On Behalf Of
> Colin Williams
> Sent: Sunday, October 6, 2024 1:41 PM
> To: Java Programming on and around the IBM i
> <[email protected]
> >
> Subject: Re: Need help with RNX0301 error -- CLASSPATH or signature
> error
>
> 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%2F2011%2F06%2Fcall-java-from-rpgle-explanation-with
> > .h
> > tml&data=05%7C02%7Cbill.blalock%40fisglobal.com%7C9be6398fec314522b0
> > db
> > 08dce636840b%7Ce3ff91d834c84b15a0b418910a6ac575%7C0%7C0%7C6386383690
> > 36
> > 954146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiL
> > CJ
> > BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=dyiB4WIeuZshXfYBsbjCl
> > QN
> > sW1i%2Fjjdw5WvKwNDMQ8s%3D&reserved=0
> > 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://list/
> > s.midrange.com%2Fmailman%2Flistinfo%2Fjava400-l&data=05%7C02%7Cbill.
> > bl
> > alock%40fisglobal.com%7C9be6398fec314522b0db08dce636840b%7Ce3ff91d83
> > 4c
> > 84b15a0b418910a6ac575%7C0%7C0%7C638638369036970784%7CUnknown%7CTWFpb
> > GZ
> > sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> > %3
> > D%7C0%7C%7C%7C&sdata=u94byzc2WT9M3H%2Fa%2B9vPaNiIDI6hoGxG3sLCevTBKMw
> > %3
> > D&reserved=0 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://list/
> s.midrange.com%2Fmailman%2Flistinfo%2Fjava400-l&data=05%7C02%7Cbill.bl
> alock%40fisglobal.com%7Cdca43fe1a32047ba9b5a08dce69cddf2%7Ce3ff91d834c
> 84b15a0b418910a6ac575%7C0%7C0%7C638638808620637211%7CUnknown%7CTWFpbGZ
> sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3
> D%7C0%7C%7C%7C&sdata=QuwvcN2X7Vr7iJoTaRoBvnMyTjNgM%2Bauf%2F%2B%2BXGi9O
> SI%3D&reserved=0 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.
> 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://list/
> s.midrange.com%2Fmailman%2Flistinfo%2Fjava400-l&data=05%7C02%7Cbill.bl
> alock%40fisglobal.com%7Cdca43fe1a32047ba9b5a08dce69cddf2%7Ce3ff91d834c
> 84b15a0b418910a6ac575%7C0%7C0%7C638638808620672474%7CUnknown%7CTWFpbGZ
> sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3
> D%7C0%7C%7C%7C&sdata=BEo4nQp8rKNSmI3otF899peH7WNKbOGDz6uLmFYZC3E%3D&re
> served=0 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.
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.