Java9のエイリアス設定

Java9のエイリアス設定

私は初めてバッシュに触れました。私のコンピュータに複数のJavaバージョンがインストールされており、すべてのバージョンのエイリアスを作成したいと思います。通常、Java実行可能ファイルは/Library//bin/javaフォルダにあります。 bashにjava9と入力してjava9実行可能ファイルを実行できるようにエイリアスを作成したい(他のJavaバージョンでも同様)。これを行う方法。

通常、Javaバージョンの場合はJAVA_HOMEを追加し、PATHにパスを追加します。しかし、これを行う方法がわかりません。

私はこれに関する記事を読んでいましたが、evalがオプションかもしれませんが、どうすればいいかわかりません。

ベストアンサー1

javav () {
    local version="$1"
    shift

    case "$version" in
        8)  JAVA_HOME='/Library/some/path/java' \
            PATH="$JAVA_HOME/bin:$PATH" java "$@"
            ;;
      8.7)  JAVA_HOME='/Library/some/other/path/java' \
            PATH="$JAVA_HOME/bin:$PATH" java "$@"
            ;;
        9)  JAVA_HOME='/Library/some/other/path2/java' \
            PATH="$JAVA_HOME/bin:$PATH" java "$@"
            ;;
        *)  printf 'Unknown java version: %s\n' "$version" >&2
            return 1
    esac
}

これはシェル機能ですjavav(既存のツールと競合する場合は名前を変更してください)。.bash_profileまたは、ファイルに入れることも、.bashrc独自のファイルに入れることもできます(この場合はを使用してインポートしますsource filename)。

バージョン番号を最初の引数として使用し、JAVA_HOME適切なディレクトリパスに設定し、残りのコマンドライン引数として実行される前に先頭にPATH含めます。実行ファイルは にあると推定され、 にあるためこれが実行される Java バージョンです。$JAVA_HOME/binjavajava$JAVA_HOME/binPATH

つまり、次のように使用できます。

$ javav 9 other arguments to java here

JAVA_HOME関数が正しいディレクトリ設定を使用したと仮定すると、Java 9が実行され、実行可能ファイルにPATH渡されます。other arguments to java herejava

注:私はJava開発者ではなく、上記の方法で設定するのが適切かどうかはわかりませんが、PATH必要に応じて変更できます。

おすすめ記事