The relativize method (both Unix and Windows implementations) don't handle treat "." correctly. More details here:
http://mail.openjdk.java.net/pipermail/nio-dev/2010-February/000907.html
Comments
EVALUATION
The spec bug will be addressed by the updates in 7006126.
10-12-2010
EVALUATION
There is also a spec bug here as the assertion that p.relativize(p.resolve(q)).equals(q) is only true if p and q are normalized paths without root components. This should be fixed as part of this bug.