Danny,

That bug may very well point out an alternative solution.  The key comment
from Sun is that "The problem with file: URLs has always been the meaning of
the "host" field. In fact file URLs with a host have generally been
translated into an ftp action to that host. Granted "localhost" was an
exception to this procedure. But the most common usage of file: urls is with
an empty host field, eg. file:///C:/path/on/c/drive and this works fine on
1.4.2 (as well as previous releases)."

Our code uses:

  jarlist.add(new URL("file://" + baseDirectory +"/SAR-INF/lib/"+
flist[i]));

changing it to use

  jarlist.add(new URL("jar:file:" + baseDirectory + "/SAR-INF/lib/" +
flist[i] + "!/"));

works, but perhaps it would also work to simply add a third '/', e.g.,

  jarlist.add(new URL("file:///" + baseDirectory +"/SAR-INF/lib/"+
flist[i]));

as in Sun's response to that bug.

Vincenzo, would you please try that alternative, and let us know what
happens?

        --- Noel


-----Original Message-----
From: Danny Angus [mailto:[EMAIL PROTECTED]
Sent: Monday, August 04, 2003 6:28
To: James Developers List
Subject: RE: JDK 1.4.2 and class loading


There is a related known issue...

http://developer.java.sun.com/developer/bugParade/bugs/4863391.html

And I've just submitted a new bug report detailing our case, as I suspect it
isn't quite the same (we don't use "localhost" in the URL)

d.

> -----Original Message-----
> From: Vincenzo Gianferrari Pini
> [mailto:[EMAIL PROTECTED]
> Sent: 04 August 2003 08:39
> To: James Developers List
> Subject: RE: JDK 1.4.2 and class loading
>
>
> Noel and Lindsay,
>
> I made some further testing and I can confirm that using the
> explicit jar protocol url solves the problem for jdk 1.4.2. As
> I'm no longer able to test with previous releases, it would be
> very useful if Lindsay could do a backward testing.
>
> The javadoc in
> http://java.sun.com/j2se/1.4.2/docs/api/java/net/JarURLConnection.
> html seem to suggest, but not mandate ("Jar URLs should be used
> to refer to a JAR file or entries in a JAR file.") such urls.
> From what we have experimented they seem instead to have become
> mandatory in jdk 1.4.2, although this fact is not mentioned in
> the appropriate place:
> http://java.sun.com/j2se/1.4.2/compatibility.html. Then IMO we
> should be OK to update the CVS (and test backwards), and notify
> Sun about this undocumented incompatibility introduced in 1.4.2
> that could create problems to many java users.
>
> Vincenzo
>
> > -----Original Message-----
> > From: Noel J. Bergman [mailto:[EMAIL PROTECTED]
> > Sent: luned� 4 agosto 2003 3.52
> > To: James Developers List; [EMAIL PROTECTED]
> > Subject: RE: JDK 1.4.2 and class loading
> >
> >
> > Lindsay,
> >
> > Since you are in a position to reproduce the problem readily,
> if I update
> > the CVS and post a test build, will be you able to do some
> testing and let
> > us know if all is copasetic?
> >
> >     --- Noel
> >
> > -----Original Message-----
> > From: Lindsay Smith [mailto:[EMAIL PROTECTED]
> > Sent: Sunday, August 03, 2003 3:51
> > To: James Developers List
> > Subject: RE: JDK 1.4.2 and class loading
> >
> >
> > I must of missed Vincenzo's post.  I hadn't figured out why I had
> > different
> > behaviours on machines till I read your post and now you've
> explained it.
> > Regarding deploying mailets, on some machines (1.4.2) only SAR style
> > deployment worked for me while on others (< 1.4.2) jars loose in the lib
> > directly worked.
> >
> > This is a big "gotcha" for users.
> >
> > Lindsay
> >
> > -----Original Message-----
> > From: Noel J. Bergman [mailto:[EMAIL PROTECTED]
> > Sent: 02 August 2003 21:57
> > To: James Developers List
> > Subject: RE: JDK 1.4.2 and class loading
> >
> >
> > Danny,
> >
> > > >   jar:file:path/jarfile.jar!/
> >
> > > That has always been the style of URL for jars as used to
> find files in
> > > jars, but I'm surprised to see that jars now have to be specified this
> > way.
> >
> > Same here.  The javadocs haven't changed, and still say that
> "Any URL that
> > ends with a '/' is assumed to refer to a directory. Otherwise,
> the URL is
> > assumed to refer to a JAR file which will be opened as needed."
> >
> > Vincenzo upgraded to JDK 1.4.2, and found the file: protocol to
> > no longer be
> > working for JAR files.  I did some quick searching on the web,
> and posted
> > the results.  The only way to get it working in JDK 1.4.2 was to
> > provide an
> > explicit jar protocol URL.  As I said, I don't know if this is an
> > intentional change in behavior, or a bug.
> >
> >     --- Noel


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to