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()
が絶対パスを使用してリンクを作成すると想定しましたが、これは誤りでした。
私は問題の解決策を見つけました:これを行うと機能します:
_records = records.toAbsolutePath();
_
createSymbolicLink()
が絶対パスを使用してリンクを作成すると想定しましたが、これは誤りでした。