
我想建立空目錄/Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents/Home/
,它指向真實目錄/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/
,因為某些程式碼依賴這個特定版本的 JDK(1.8.0_5,但我只有 1.8.0_74),但 ln 命令失敗並出現以下錯誤,任何想法有什麼問題嗎?謝謝。
順便說一句,我使用的是 Mac OSX。
ls -l /Library/Java/JavaVirtualMachines/
total 0
drwxr-xr-x 3 root root 102 Jan 20 16:32 Contents
drwxr-xr-x 3 root root 102 Jan 25 16:16 jdk1.8.0_05.jdk
drwxr-xr-x 3 root root 102 Jan 25 16:15 jdk1.8.0_25.jdk
drwxr-xr-x 3 root root 102 Jan 25 16:15 jdk1.8.0_40.jdk
drwxr-xr-x 3 root root 102 Jan 20 16:32 jdk1.8.0_72.jdk
drwxr-xr-x 3 root root 102 Feb 5 15:25 jdk1.8.0_74.jdk
ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents/Home/ /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/
ln: /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home//Home: File exists
更新,嘗試了 Schlachter 的解決方案,但遇到了新問題,
ls /Library/Java/JavaVirtualMachines
Contents jdk1.7.0_51.jdk jdk1.8.0_25.jdk jdk1.8.0_72.jdk jdk1.8.0_77.jdk
jdk1.7.0_21.jdk jdk1.8.0_05.jdk jdk1.8.0_40.jdk jdk1.8.0_74.jdk
ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents/
ln: /Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents/: No such file or directory
答案1
只要jdk1.8.0_5.jdk/Contents/Home
不存在,您就可以使用:
ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents/
尾部斜線Contents/
會將Home
捷徑放入資料夾內Contents
。該資料夾上沒有斜線,Home
因為它是連結的目標。
編輯:連結所在的上述所有資料夾都需要存在。mkdir
可以為您創建它/它們,例如mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents