On Windows prepending "file://" to "C:\somedir\somefile" results in 
"file://C:/somedir/somefile".  I'm pretty sure URL will think "C" is the host 
name and fail if you try to use a URL object to read the file.  I think it was 
the same issue on Linux when prepending "file:/" to "/somedir/somefile", i.e. 
"somedir" was seen as a host name.  I think you need to ensure there is one 
slash or three to avoid inadvertently specifying a host name.

Larry

> -----Original Message-----
> From: Filip Hanik - Dev Lists [mailto:devli...@hanik.com]
> Sent: Thursday, September 03, 2009 5:52 PM
> To: Tomcat Developers List
> Subject: Re: svn commit: r810132 - /tomcat/tc6.0.x/trunk/STATUS.txt
>
> The URL has to start with "file://"
>
> So the VirtualWebappLoader, can take a regular file path, and should
> simply prepend file://, not file: or file:/
>
> Filip
>
> On 09/01/2009 12:48 PM, Larry Isaacs wrote:
> > Hi Filip,
> >
> > I have a vague recollection about tripping over this issue while
> working on the Tomcat support in the Eclipse Web Tools Platform.  WTP
> has its own version(s) of VirtualWebappLoader, called WtpWebappLoader,
> to address it.  If I'm recalling the issue correctly, pre-pending
> "file:/" worked on Windows, but not on Linux since an absolute path
> ended up as "file://somedir/...".  I believe with the change below,
> pre-pending "file://" will work for Linux, but not for Windows, i.e.
> "file://C:/somedir/..." is going to have problems.  If it helps, I went
> with the URL form "file:/somedir/..." and used the following code
> snippet to get it working for Windows and Linux in WtpWebappLoader:
> >
> >
> >              String path = file.getAbsolutePath();
> >              if (path.startsWith("/")) {
> >                  path = "file:" + path;
> >              } else {
> >                  path = "file:/" + path;
> >              }
> >              if (file.isDirectory()) {
> >                  addRepository(path + "/");
> >              } else {
> >                  addRepository(path);
> >              }
> >
> > Cheers,
> > Larry
> >
> >
> >
> >> -----Original Message-----
> >> From: fha...@apache.org [mailto:fha...@apache.org]
> >> Sent: Tuesday, September 01, 2009 1:22 PM
> >> To: dev@tomcat.apache.org
> >> Subject: svn commit: r810132 - /tomcat/tc6.0.x/trunk/STATUS.txt
> >>
> >> Author: fhanik
> >> Date: Tue Sep  1 17:21:59 2009
> >> New Revision: 810132
> >>
> >> URL: http://svn.apache.org/viewvc?rev=810132&view=rev
> >> Log:
> >> proposal
> >>
> >> Modified:
> >>      tomcat/tc6.0.x/trunk/STATUS.txt
> >>
> >> Modified: tomcat/tc6.0.x/trunk/STATUS.txt
> >> URL:
> >>
> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=810132
> >> &r1=810131&r2=810132&view=diff
> >>
> =======================================================================
> >> =======
> >> --- tomcat/tc6.0.x/trunk/STATUS.txt (original)
> >> +++ tomcat/tc6.0.x/trunk/STATUS.txt Tue Sep  1 17:21:59 2009
> >> @@ -321,3 +321,25 @@
> >>     +1: funkman
> >>     -1:
> >>
> >> +
> >> +* Fix VirtualWebappClassLoader file directives
> >> +  Index: java/org/apache/catalina/loader/VirtualWebappLoader.java
> >> +===================================================================
> >> +--- java/org/apache/catalina/loader/VirtualWebappLoader.java
> >>        (revision 810099)
> >> ++++ java/org/apache/catalina/loader/VirtualWebappLoader.java
> >>        (working copy)
> >> +@@ -92,9 +92,9 @@
> >> +                 continue;
> >> +             }
> >> +             if (file.isDirectory()) {
> >> +-                addRepository("file:/" + file.getAbsolutePath() +
> >> "/");
> >> ++                addRepository("file://" + file.getAbsolutePath() +
> >> "/");
> >> +             } else {
> >> +-                addRepository("file:/" + file.getAbsolutePath());
> >> ++                addRepository("file://" + file.getAbsolutePath());
> >> +             }
> >> +         }
> >> +
> >> +  +1: fhanik
> >> +  -1:
> >> +
> >> +
> >>
> >>
> >>
> >> --------------------------------------------------------------------
> -
> >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: dev-h...@tomcat.apache.org
> >>
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

Reply via email to