Non riesco a creare un collegamento simbolico a una directory in Java. Sto usando il metodo createSymbolicLink() dalla classe Files: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.htmlCreazione di un collegamento simbolico con Java
Percorsi assoluti:
- Obiettivo:
/some/path/target
- Link:
/some/path/xxx/linkname
Mi aspetterei che un collegamento in la directory /some/path/xxx/
viene creata nella cartella /some/path/target
, ma viene creato un collegamento da /some/path/xxx/linkname
a /some/path/xxx/target
. Non riesco a capire cosa sto sbagliando.
Quando creo un collegamento da /some/path/linkname
a /some/path/target
, tutto funziona come previsto.
Qualsiasi aiuto è molto apprezzato.
EDIT: Ecco il mio codice:
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();
}
Il "records.path" e "webserver.root" sono entrambi i percorsi relativi.
In realtà ho appena trovato una soluzione al problema: Funziona se faccio questo:
records = records.toAbsolutePath();
ho assunto la createSymbolicLink()
utilizzerà percorsi assoluti per creare i collegamenti, che era sbagliato.
Puoi pubblicare il tuo codice? –
Ho trovato una soluzione. Vedi post modificato. – omnibrain
Si prega di non modificare le domande per inserire le risposte lì. Anche se hai trovato la risposta alla tua domanda, la metti in una risposta adeguata. –