2011-02-02 6 views
17

Come creare un collegamento simbolico in Java/JVM durante l'esecuzione in Linux? Ci sono altri modi per farlo rispetto all'utilizzo di Java Native Interface (JNI) o java.lang.Runtime.exec("/bin/ln -s /some/path symlink")?Come creare un collegamento simbolico in Java quando si esegue in Linux?

La creazione di un collegamento simbolico dipende molto dalla piattaforma, ma mi interessa soprattutto l'esecuzione su Linux, sarebbe un bel vantaggio se venisse creato un collegamento in Windows.

+0

Inoltre: se si desidera utilizzare 'Runtime.exec()', assicurarsi di utilizzare la versione che utilizza un array o si ottengono brutte sorprese. Inoltre, segui i consigli qui: http://www.javaworld.com/jw-12-2000/jw-1229-traps.html –

risposta

30

Il JDK 7 include (tramite NIO.2) una classe denominata Files che fornisce un metodo createSymbolicLink().

Le versioni precedenti non forniscono alcun modo integrato per produrlo, quindi JNI o ​​Runtime.exec() sono le uniche opzioni reali.