La création d'un lien symbolique avec Java
Je vais avoir de la difficulté à créer un lien symbolique vers un répertoire en Java. Je suis à l'aide de la createSymbolicLink() la méthode à partir des Fichiers de classe: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html
Des chemins absolus:
- Cible:
/some/path/target
- Lien:
/some/path/xxx/linkname
Je m'attends à ce qu'un lien dans le répertoire /some/path/xxx/
est créé dans le dossier /some/path/target
, mais au lieu d'un lien de /some/path/xxx/linkname
à /some/path/xxx/target
est créé. Je ne peux pas comprendre ce que je fais mal.
Quand je créer un lien à partir de /some/path/linkname
à /some/path/target
, tout fonctionne comme prévu.
Toute aide est grandement appréciée.
EDIT:
Voici mon code:
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();
}
Les "enregistrements.chemin d'accès" et "serveur web.la racine" sont à la fois les chemins d'accès relatifs.
En fait je viens de trouver une solution au problème: Il fonctionne si je fais ceci:
records = records.toAbsolutePath();
J'ai supposé que la createSymbolicLink()
va utiliser des chemins absolus pour créer des liens, ce qui est faux.
J'ai trouvé une solution. Voir édité le post.
Veuillez ne pas modifier les questions à mettre des réponses. Même si vous avez trouvé la réponse à votre question, vous ne le mettez dans une réponse appropriée.
Je voudrais avoir, mais avec moins de 10 réputation, je dois attendre 10 heures avant que je puisse répondre à ma propre question.
10 heures 🙂
OriginalL'auteur omnibrain | 2013-07-29
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la solution au problème: Il fonctionne si je fais ceci:
Je suppose
createSymbolicLink()
va utiliser des chemins absolus pour créer des liens, ce qui est faux.records = records.toAbsolutePath()
est équivalent.OriginalL'auteur omnibrain