Oh, and it would be good to know the versions of Velocity, Commons Collections, and the JDK that you are using.
On 9/6/07, Nathan Bubna <[EMAIL PROTECTED]> wrote: > I've looked through the relevant code, and i don't see Velocity > stripping out backslashes explicitly anywhere. It could be happening > within Commons Collections' ExtendedProperties class (which is where > the property is stored by the runtime instance and from which it is > retrieved by the FileResourceLoader), though that would be surprising. > i haven't the time to look into it that right now. anyway, if it's > not happening there, then the only other possible culprit is java > (either String.trim() or some other string method used within > ExtendedProperties). There's really not much in the path between > Velocity.setProperty() and the log message printed by > FileResourceLoader (where the backslash is missing). > > On 9/6/07, Peter Steele <[EMAIL PROTECTED]> wrote: > > I'd be happy not to use backslashes, except that in my case the path that > > created problems was given to me by Java's getAbsolutePath() method. > > Because I'm running under Windows, it returns a Windows path, using > > backslashes, as it should. Velocity should in turn be able to handle such a > > path because it is in fact a valid Windows path. > > > > -----Original Message----- > > From: Gonzalo Diethelm [mailto:[EMAIL PROTECTED] > > Sent: Monday, September 03, 2007 5:49 AM > > To: Velocity Users List > > Subject: Re: UNC paths in Velocity > > > > Allow me to paste my very last reply to this list. Regardless of the '/' > > vs '\' issue, Velocity does have a very quirky way of handling > > backslashes... Best regards. > > > > > > I suggest you NEVER use the backslash character for path > > delimiters. As far as I know, C, C++, C# and Java all understand > > the forward slash as a path separator, with the benefits of > > portable code and not having to quote and re-quote the > > backslash. Therefore, try something like > > "//myserver/home/peter/myproj/template". > > > > > > On Fri, 2007-08-31 at 07:50 -0700, Peter Steele wrote: > > > > > Velocity does not seem to properly support UNC paths under Windows. I am > > > running from a network drive on a Vista box and want to point Velocity to > > > a location relative to my current dir to find my template files. I have > > > code similar to the following: > > > > > > > > > > > > String templateDir = new File("templates"); > > > > > > String absTemplateDir = templateDir.getAbsolutePath(); > > > > > > Velocity.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, > > > absTemplateDir); > > > > > > Velocity.init(); > > > > > > Template myTemplate = Velocity.getTemplate("my_template.vm"); > > > > > > > > > > > > The getTemplate call fails saying that it cannot find the file. The init > > > call explains why: it generates a log message similar to this: > > > > > > > > > > > > INFO: FileResourceLoader : adding path > > > '\myserver\home\peter\myproj\template' > > > > > > > > > > > > The file path *should* be '\\myserver\home\peter\myproj\template', but > > > Velocity strips one of the leading backslashes. The original string is > > > correct that's returned by getAbsolutePath, with four backslashes > > > representing two real backslashes: > > > > > > > > > > > > \\\\myserver\\home\\peter\\myproj\\template > > > > > > > > > > > > This is what I'd expect. This doesn't seem to satisfy Velocity though. If > > > I manually set the string to > > > > > > > > > > > > \\\\\\\\\\myserver\\home\\peter\\myproj\\template > > > > > > > > > > > > this solves the problem. What I ended up doing though was this: > > > > > > > > > > > > String absTemplateDir = > > > templateDir.getAbsolutePath().replace('\\', '/'); > > > > > > > > > > > > This also works, so obviously the problem has something to do with > > > interpreting the leading backslash characters that represent the Windows > > > UNC path. This seems like a bug to me… > > > > > > > > > > > > > > > No virus found in this outgoing message. > > > Checked by AVG Free Edition. > > > Version: 7.5.484 / Virus Database: 269.13.1/981 - Release Date: 8/31/2007 > > > 6:13 AM > > > > > > > > > -- > > Gonzalo Diethelm > > [EMAIL PROTECTED] > > > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.5.484 / Virus Database: 269.13.3/986 - Release Date: 9/3/2007 > > 9:31 AM > > > > > > No virus found in this outgoing message. > > Checked by AVG Free Edition. > > Version: 7.5.485 / Virus Database: 269.13.7/992 - Release Date: 9/6/2007 > > 8:36 AM > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
