GuavaのFiles#deleteRecursively/deleteDirectoryContentsは使わないほうが良い(と言うか10.0.1ではdeprecated)

シンボリックリンクは追わない」という処理を実現するために、

    if (!directory.getCanonicalPath().equals(directory.getAbsolutePath())) {
      return;
    }

という処理をしてるんだけど、directoryが相対パスの場合 "/currentDir".equals("/currentDir/./") みたいな具合になって正しく判定されず大変ですね。

では、代替案として何を使えばいいかというと

This functionality can be supported suitably only by shelling out to an operating system command such as rm -rf or del /s.

http://docs.guava-libraries.googlecode.com/git-history/v10.0.1/javadoc/com/google/common/io/Files.html#deleteRecursively(java.io.File)

うっ……
(おわり)