Fixing this issue was a nightmare, but it should be done now.
The root cause of this issue is a bug in the class java.net.URI: It's five parameter constructor does not quote a colon in the path component for relative URIs (i.e. those with an undefined scheme). To fix this, I've added three new classes UriBuilder, UriEncoder and UriDecoder with appropriate unit tests. I filed a bug report to bugs.sun.com, but it's not public yet and for some unknown reason I cannot even log in to this site anymore in order to quote the issue number - damn.
After fixing this, I suppose it should now work on POSIX systems, i.e. Linux, Unix, Mac OS X.
However, it still does not work under Windows, because the java.io.File class has some bugs when accessing paths with colons, too. E.g. when calling new java.io.File("foo:bar").createNewFile() a file with the path name "foo" is created instead of the path name "foo:bar". I recall to have read somewhere that a colon is not a legal character in a Windows path name anyway, but then I would expect the java.io.File constructor to throw an IllegalArgumentException instead of the createNewFile() method doing something unexpected. Because I cannot login to bugs.sun.com, I did not check or file another bug report for this.
In summary, I can only recommend to avoid colons in path names.