
Я хочу создать пустой каталог /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