Mac での奇妙なソフト リンク ln コマンドの問題

Mac での奇妙なソフト リンク ln コマンドの問題

/Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents/Home/一部のコードは JDK のこの特定のバージョン (1.8.0_5 ですが、私が持っているのは 1.8.0_74 だけです) に依存しているため、実際のディレクトリを指す空のディレクトリを作成したいのです/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/が、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/配置されます。フォルダーはリンクのターゲットであるため、スラッシュは付きません。HomeContentsHome

編集: リンク先の上のすべてのフォルダが存在する必要があります。mkdir作成できます。例:mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_5.jdk/Contents

関連情報