At 04:18 PM 7/26/2001 -0500, Hansen, Richard wrote:
>Just a thought. I have started putting shared things like xerces.jar,
>mail.jar, etc. in the "extensions" directory. On Windows this is
>"jre\lib\ext", in two locations the jdk home and "program files\javasoft".
>This avoids some of the classpath annoyances and makes sure things like
>xerces get loaded and get loaded first. I don't think I could put soap.jar
>there because then it could not find the deployed services file. I highly
>recommend this approach.
>
>Could there be something in the "extensions" directory. It does not show up
>in the classpath, but stuff there will get loaded first.
Yeah...that's why those "cp.jsp" and "cp.java" programs report
*the classpath, and
*the extensions directory jars (which also tells you, of course, which is
your java_home directory; this too can be a surprise), and
*the Xerces version, if any can be found, and
*the actual class used for DocumentBuilder by SOAP; and
*the whole system properties list, just in case...
I was hoping that the two utilities would help with a moderately large
fraction of the list questions: classpath questions, where a lot
of these are being asked by people who think they know what's in their
classpath because they've set the classpath to a specific value, but they
don't realize that the servlet-runner extends it or that the lib/ext directory
effectively precedes it, so they say "my classpath is X" but really it
isn't -- or it is for the command-line but not for SOAP. ( I do have
soap.jar in my jdk home's jre\lib\ext, and that works fine but only
on a machine where I put almost everything in jre\lib\ext. On other
machines, I've had to go the other way and keep jre\lib\ext completely
empty. Heads you lose, tails you lose even more. :-) )
Tom Myers