Erstellen Sie einen symbolischen link mit Java

Ich habe Probleme beim erstellen einen symbolischen link zu einem Verzeichnis, in Java. Ich bin mit dem createSymbolicLink () - Methode der Files-Klasse: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

Absolute Pfade:

  • Ziel: /some/path/target
  • Link: /some/path/xxx/linkname

Ich würde erwarten, dass ein link in das Verzeichnis /some/path/xxx/ wird erstellt, um den Ordner /some/path/target, aber stattdessen einen link von /some/path/xxx/linkname zu /some/path/xxx/target erstellt. Ich kann einfach nicht herausfinden, was ich falsch mache.

Wenn ich ein link von /some/path/linkname zu /some/path/target funktioniert alles wie erwartet.

Jede Hilfe wird sehr geschätzt.

BEARBEITEN:
Hier ist mein 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();
}

"Datensätze.Pfad" und "webserver.root" werden sowohl relative Pfade.

Eigentlich habe ich nur eine Lösung gefunden, um das problem: Es funktioniert, wenn ich dies tun:

records = records.toAbsolutePath();

Bin ich davon ausgegangen, das createSymbolicLink() werden absolute Pfade verwenden Sie zum erstellen der links, die war falsch.

  • Können Sie post-Codes ?
  • Ich habe eine Lösung gefunden. Siehe editierten post.
  • Bitte nicht Bearbeiten, Fragen zu stellen, Antworten gibt. Auch wenn Sie die Antwort auf Ihre Frage selber tun, steckte es in eine passende Antwort.
  • Hätte ich, aber mit weniger als 10 Ruf, ich warten Sie 10 Stunden Zeit, bevor ich posten kann, eine Antwort auf meine eigene Frage.
  • 10 Stunden vergangen sind 🙂
  • Ich glaube, die Wurzel des Problems ist die Lage der cwd (current working directory).. Die unter java kann manchmal sein, überall. Wenn man wollte, um einen relativen Pfad verwenden, müssen Sie cd Sie zu dem Ordner, wo Sie wollen den link. Siehe: Java-Datei Ändern Working Directory

InformationsquelleAutor omnibrain | 2013-07-29
Schreibe einen Kommentar