On 01.09.2009 20:48, 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:
Good point. > > String path = file.getAbsolutePath(); > if (path.startsWith("/")) { > path = "file:" + path; > } else { > path = "file:/" + path; > } > if (file.isDirectory()) { > addRepository(path + "/"); > } else { > addRepository(path); Why not: file.toURI().toString() It seems this is not cheap, but should handle as much annoyances as possible (drive letters, directory trailing slashes, UNC notation). Regards, Rainer >> -----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 >> > > -- kippdata informationstechnologie GmbH Tel: 0228 98549 -0 Bornheimer Str. 33a Fax: 0228 98549 -50 53111 Bonn www.kippdata.de HRB 8018 Amtsgericht Bonn / USt.-IdNr. DE 196 457 417 Geschäftsführer: Dr. Thomas Höfer, Rainer Jung, Sven Maurmann =============================== kippdata informationstechnologie GmbH Tel: +49 228 98549 -0 Bornheimer Str. 33a Fax: +49 228 98549 -50 D-53111 Bonn www.kippdata.de HRB 8018 Amtsgericht Bonn / USt.-IdNr. DE 196 457 417 Geschäftsführer: Dr. Thomas Höfer, Rainer Jung, Sven Maurmann --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org