本日は、Windowsのジャンクションについて簡単に特徴や参考になったリンクをまとめておきたいと思います。
ジャンクションとは?
ジャンクションは、ソフトリンクと呼ばれるリンク機能で、ショートカットのように別の場所にあるフォルダへリダイレクトするために使われるようです。
ソフトリンクなので、リンク先の実体が削除されるとリンク先不明となります(反対にハードリンクはリンク先不明とならない)。
注意点としては、ジャンクションはあくまでディレクトリに対して設定できるもので、ファイルには設定することができません。また、ローカルのPC以外の場所(共有フォルダなど)へはリンクできないという制限もあります。
Javaのジャンクション
唐突ですが、自分のPCで設定されていたJava関連のジャンクションの一部をご紹介します。
自分のPCには、Java17.0.2がインストールされているのですが以下のディレクトリがジャンクションで作成されていました。
上記ジャンクションのリンク先は、同一フォルダにある以下のような名前のディレクトリでした。
C:\Program Files\Common Files\Oracle\Java\javapath_target_xxxxxxx
上記のような状態で、Java17.0.3をインストールしてみました。インストール後にJavaのバージョンを「java -version」で確認すると、新しいバージョンであるJava17.0.3となりました。
上記ジャンクションのリンク先を見ると、どうやら新しくディレクトリが再作成されているようでした(javapath_target_xxxxxxxの、”xxxxxxx”が変わっていた)。
具体的な使い方はよくわかっていませんが、おそらく上記ジャンクションで作成しているパスは環境変数に定義されているので、その定義を修正しないための仕組みかなと思いました。