Mam problem z utworzeniem dowiązania symbolicznego do katalogu w Javie. Używam metody createSymbolicLink() z klasy Files: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.htmlTworzenie dowiązania symbolicznego za pomocą Java
bezwzględne ścieżki:
- docelowa:
/some/path/target
- Link:
/some/path/xxx/linkname
ja spodziewałbym się, że ogniwo katalog /some/path/xxx/
jest tworzony do folderu /some/path/target
, ale zamiast tego tworzone jest łącze z /some/path/xxx/linkname
do /some/path/xxx/target
. Po prostu nie mogę zrozumieć, co robię źle.
Po utworzeniu łącza od /some/path/linkname
do /some/path/target
wszystko działa zgodnie z oczekiwaniami.
Każda pomoc jest bardzo doceniana.
EDIT: Oto mój kod:
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();
}
W "records.path" i "webserver.root" są zarówno ścieżki względne.
Właściwie Właśnie znalazłem rozwiązanie problemu: To działa, jeśli mogę to zrobić:
records = records.toAbsolutePath();
I przyjęto createSymbolicLink()
użyje ścieżki bezwzględne do tworzenia więzi, co było złego.
Czy możesz opublikować swój kod? –
Znalazłem rozwiązanie. Zobacz edytowany post. – omnibrain
Nie edytuj pytań, aby tam umieścić odpowiedzi. Nawet jeśli znalazłeś odpowiedź na swoje pytanie, zrób to we właściwej odpowiedzi. –