|
For the native JDBC driver. I don't know what release (iSeries) you are running on, but you should remove the db2_classes.jar file from your classpath. If you have the latest PTFs on v4r5, you should have to do *nothing* to get the driver found. The symlink needed in the extensions directory should get created automatically. I got the JVM team to change this because of the confusion it caused people going from JDK 1.1.x to JDK 1.2 (where they started *not* including the db2_classes.jar file automatically). There are multiple class loaders and the rules for where things have to be found for interacting classes are based on where they get loaded from. You can cause problems putting extensions in the user class path. I'm told its all working right when that happens and I ran out of energy before they gave me enough understanding that I can explain it well. Anyway, if the db2_classes.jar file is in the user extensions directory, and you remove it from the classpath and things don't work, ensure you have the latest JV1 PTFs applied. If it still doesn't work, call support to get it running. They should be able to fix it up quickly. Regards, Richard D. Dettinger AS/400 Java Data Access Team "Biologists have a special word for stability -- dead" Larry Wall Open Source Developers Journal Issue 1, Jan 2000 Dave Wall/Rochester/IBM@IBMUS@midrange.com on 05/22/2001 08:35:56 AM Please respond to JAVA400-L@midrange.com Sent by: owner-java400-l@midrange.com To: JAVA400-L@midrange.com cc: Subject: RE: AS400 Toolbox for Java I can answer the Toolbox part. The Toolbox classes for running remote Java programs do not forward environment values (such as current directory and current classpath) to the target Java environment. You must set these values on the object which will forward them to the server. Use the setter method on the object or the command line parms on the utility to set classpath before calling the remote java program. In your case it would be something like: AS400 system = new AS400(); JavaApplicationCall jac = new JavaApplicationCall(system); jac.setJavaApplication(Test); // assuming your program is in the default package jac.setClassPath ("/AGTJAVA/AGTCOMP/AS400:/QIBM/ProdData/Java400/ext/db2_classes.jar"); jac.run(); ... David Wall AS/400 Toolbox for Java "Xu, Weining" <Weining.Xu@AIG.com>@midrange.com on 05/22/2001 08:02:00 AM Please respond to JAVA400-L@midrange.com Sent by: owner-java400-l@midrange.com To: "'JAVA400-L@midrange.com'" <JAVA400-L@midrange.com> cc: Subject: RE: AS400 Toolbox for Java Let me rephrase my questions. I have a Java program Test.class reside in AS400 IFS directory: /AGTJAVA/AGTCOMP/AS400/Test.class. This is a JDBC program using AS400 DB2 native JDBC driver. The JVM on AS400 is version 1.2.2. I set ENVVAR (*SYS) as CLASSPATH = '.:/QIBM/ProdData/Java400/ext/db2_classes.jar' I also did: ADDLNK OBJ('/QIBM/ProdData/Java400/ext/db2_classes.jar') NEWLNK ('/QIBM/UserData/Java400/ext/db2_classes.jar') My program has no problem run from AS400 Qshell (by cd to /AGTJAVA/AGTCOMP/AS400 directory and do JAVA Test). But I can not run the same program from AS400 command line as: RUNJVA CLASS ('/AGTJAVA/AGTCOMP/AS400/Test'). I got "java.lang.NoClassDefFoundError". Also I create a client Java GUI by using JavaAppliactionCall and VJavaAppliactionCall classes from AS400 Toolbox for Java. Then I call the same Test program on AS400. I got the same "java.lang.NoClassDefFoundError" error. What could be wrong here? Thanks for your help. +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +--- +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
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.