× 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.



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.




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.