Java でディレクトリへのシンボリック リンクを作成できません。Files クラスの createSymbolicLink() メソッドを使用しています: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html
絶対パス:
- 目標:
/some/path/target
- リンク:
/some/path/xxx/linkname
/some/path/xxx/
ディレクトリ内のリンクがフォルダーに作成されることを期待しています/some/path/target
が、代わりにから/some/path/xxx/linkname
へのリンク/some/path/xxx/target
が作成されます。私は自分が間違っていることを理解できません。
/some/path/linkname
からへのリンクを作成すると/some/path/target
、すべてが期待どおりに機能します。
どんな助けでも大歓迎です。
編集:これが私のコードです:
Path records = Paths.get(Properties.getProperty("records.path"));
Path recordsLink = Paths.get(Properties.getProperty("webserver.root") + System.getProperty("file.separator") + records.getFileName());
try {
Files.createSymbolicLink(recordsLink, records);
} catch (IOException e) {
e.printStackTrace();
}
「records.path」と「webserver.root」はどちらも相対パスです。
実際、私は問題の解決策を見つけました:これを行うとうまくいきます:
records = records.toAbsolutePath();
createSymbolicLink()
絶対パスを使用してリンクを作成すると想定していましたが、これは間違っていました。