× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



java.lang.NoClassDefFoundError does not necessarily mean that the jar was not found by the classloader. It may also mean that the class failed during initialization. That's the more likely issue as you haven't changed classpath or methods of loading and you are still running in JVM 1.4.2. Find your standard out log and look for errors during class initialization much earlier than your NoClassDefFoundError.


-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-
bounces@xxxxxxxxxxxx] On Behalf Of John Allen
Sent: Friday, August 02, 2013 2:51 PM
To: 'Java Programming on and around the IBM i'
Subject: RE: Installing new java version

Dan,

Thanks for your reply. Just wanted to add this bit of info:
We have other java programs that are still running fine.

Displaying /qibm/userdata/java400
Opt Object link Type Attribute Text
ext DIR

AdoptAuthority DIR

Nothing else, no files at all, I can't seem to find
SystemDefault.properties file anywhere , is it OK to not
have one?
Can I create a file SystemDefault.properties
and add
java.home=/QIBM/ProdData/Java400/jdk14/
java.version=1.4
to it?

I checked /home and it is empty

So I displayed /qibm/Prodata/java400 and I see:
Object link Type
ext DIR
fonts DIR
jdk13 DIR
jdk14 DIR
jdk15 DIR
jt400ntv.jar STMF
Hello.class STMF
Hello.java STMF
MRI2924 DIR
NAWTtest.class STMF
NAWTtest.java STMF
PropDump.class STMF
PropDump.java STMF
QDefineClassCache.jar STMF
SystemDefaultCacheExample.properties STMF

Does this look OK? Still no SystemDefault.properties file
anywhere

I put the program in debug and just before it executes the
RUNJVA command I ran RUNJAVA *VERSION
And get Version JVM V5R3M0 JDK 1.4.2.

The error is caused by the following program execution using
RUNJVA:
RUNJVA CLASS('xxapdfen') PARM(&infileflg &FullPathIn)
CLASSPATH(&CLASSPATH) CHKPATH(*IGNORE)

Where &classpath=
/dapp/java/xxapdfenc.jar:/dapp/java:/dapp/java/xxapdfeni.jar
:

The jar files are where they have always been.

Any other ideas for me?

I am going to uninstall the PTF that was used to install
java 1.5 this weekend and see if that returns us back to
working.




-----Original Message-----
From: Dan Kimmel [mailto:dkimmel@xxxxxxxxxxxxxxx]
Sent: Thursday, August 01, 2013 4:49 PM
To: Java Programming on and around the IBM i
Subject: RE: Installing new java version

Start by checking how that java program is invoked. At V5R3,
the java.version system property has the most impact on
which JVM is chosen. That property can be set in the QSH
java command line (in QSH java -Djava.version=1.4, eg).

In qsh, I can do this:
$
java -version -Djava.version=1.3.1
java version "1.3.1"
$
java -version -Djava.version=1.4.2
java version "1.4.2"
$
java -version -Djava.version=1.4
java version "1.4.2"
$
java -version -Djava.version=1.1
Java Development Kit could not be found.
$
java -version -Djava.version=1.2
java version "1.2.2"
$

I haven't been able to find a way to set version from the
RUNJVA command, however. I believe the command invocation
pulls its value from SystemDefault.properties file.

Browse : /qibm/UserData/Java400/SystemDefault.properties
Record : 1 of 2 by 18
Control :

....+....1....+....2....+....3....+....4....+....5....+..
************Beginning of data**************
java.home=/QIBM/ProdData/Java400/jdk14/
java.version=1.4
************End of Data********************

As above, there's one in the /qibm/UserData/Java400. There
can also be one in the home directory of the user which
takes precedence over the one in /QIBM.

There was significant displacement of classes in Java 5.
Many classes were added to the core distribution that had
been commonly included only by classpath. This was
particularly true of servlet classes. The net effect was
that applications that had been running in 1.4.2 would throw
exactly the error you're seeing as the classes in the
classpath were duplicated in the runtime.

To see what you're command is doing, try to get as close as
possible to the environment where RUNJVA is invoked in your
application and run

RUNJVA *version

If it comes up 1.5, you'll have to find where the property
is set and change it, else figure out what classes are being
duplicated in the classpath and remove the jar from the
classpath.

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-
bounces@xxxxxxxxxxxx] On Behalf Of John Allen
Sent: Thursday, August 01, 2013 2:43 PM
To: JAVA400-L@xxxxxxxxxxxx
Subject: Installing new java version

I want to start out by saving my java skills are pretty
basic.

I have a java program that has been running fine for years
using java
1.4 on V5R3.

Last week we installed java 1.5 (via PTF). I do not want
to start
using it yet, but I wanted to get it installed for
potential future
use.



When I check the java version on our system (QSH java
-version) I get 1.4.2





5722JV1 V5R3M0 Developer Kit for Java

5722JV1 V5R3M0 Java Developer Kit 1.3

5722JV1 V5R3M0 Java Developer Kit 1.4

5722JV1 V5R3M7 Java Developer Kit 1.5



No other changes I know of have been made. The java
program has not
changed in years and has not been recompiled.



But.. When I run the java program I get an error:

java.lang.NoClassDefFoundError:
org/apache/commons/cli/Option

at java.lang.Throwable.<init>(Throwable.java:195)


at
java.lang.LinkageError.<init>(LinkageError.java:36)


at

java.lang.NoClassDefFoundError.<init>(NoClassDefFoundError.j
ava:40)

at xxapdfec.main(xxapdfec.java:40)


Java program completed with exit code 1



I used debug to check the class paths.

I checked to make sure the .class and jar files were in
the directory
they are supposed to be in.



Can installing a new version of java cause a change in a
existing
programs execution.

Does anyone have any starting point for me to look at?

How do I read this error logging? What do the numbers (195
36 40) represent? Program line numbers?



Thanks in advance



John



--
This is the Java Programming on and around the IBM i
(JAVA400-L)
mailing list To post a message email:
JAVA400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting,
please take a
moment to review the archives at
http://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:
JAVA400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change
list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting,
please take a moment to review the archives at
http://archive.midrange.com/java400-l.



-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2013.0.2904 / Virus Database: 3209/6538 - Release
Date: 07/31/13

-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2013.0.2904 / Virus Database: 3209/6542 - Release
Date: 08/01/13

--
This is the Java Programming on and around the IBM i (JAVA400-L) mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.