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

Colin Williams <[email protected]> Mon, 7 Oct 2024 07:53:53 +0100
Newsgroups gmane.comp.lang.as400.java
Message-ID <CAJOH7P3og+qmK5GWwkuGBvWk0eFqb4+YAAcAtVw7KvqvdnG-cw@mail.gmail.com>
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%7C9be6398fec314522b0db
> > 08dce636840b%7Ce3ff91d834c84b15a0b418910a6ac575%7C0%7C0%7C638638369036
> > 954146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJ
> > BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=dyiB4WIeuZshXfYBsbjClQN
> > 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%7Ce3ff91d834c
> > 84b15a0b418910a6ac575%7C0%7C0%7C638638369036970784%7CUnknown%7CTWFpbGZ
> > 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://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.
>
-- 
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.