LinuxにJavaをインストールするには(CentOSを使用しましたが、RHELも同じです))、このコマンドを使用しました
rpm -Uvh /path/to/binary/jdk-7u55-linux-x64.rpm
検証済みのJava
Java -version
チュートリアルを見ると、次の4つのコマンドを実行するように指示されていますが、理由はわかりません
## Java ##
alternatives --install /usr/bin/Java java /usr/Java/latest/jre/bin/Java 200000
## javaws ##
alternatives --install /usr/bin/javaws javaws /usr/Java/latest/jre/bin/javaws 200000
## Install javac only
alternatives --install /usr/bin/javac javac /usr/Java/latest/bin/javac 200000
## jar ##
alternatives --install /usr/bin/jar jar /usr/Java/latest/bin/jar 200000
Javaがインストールされているバージョンが複数ある場合は、使用するバージョンを選択できます。
alternatives --config Java
次に、実行可能ファイルごとにalternative --install
を個別に実行する理由。
私は this の質問を見ましたが、私の答えが得られません
LinuxにJDKをインストールすると、パッケージのタイプ、バージョン、およびディストリビューションによってインストールされます。 Linuxでのインストール場所については、次のリンクを参照してください。
Linuxプラットフォーム用のJDKインストール-バージョン8
Linuxプラットフォーム用のJDKインストール-バージョン7
JDKをインストールすると、ツールを含むbin
フォルダーが環境変数PATH
に追加されない場合があります。端末で入力するコマンドは、PATH
変数で指定された場所からのものである必要があります。 JDK\bin
が追加されない場合、ユーザーは JDKソフトウェアのインストール で説明されているように手動で構成する必要があります。
alternatives
コマンドは、シンボリックリンクを作成するために使用されています。ここでは、コマンドを使用して、デフォルトでjavac
変数に存在するjavaw
、PATH
などのツールを/usr/bin
に追加するように指示されています。
If(Java -version
の外でJDK/bin
を実行できます&&完全なパス&&を指定するのではなく、バージョンとバンドルがインストールしたパッケージのバージョンと同じになるように出力されます){alternatives
コマンドを実行する必要はありません。}
Java
、javaws
、javac
、およびjar
はすべて、JDKで使用されるさまざまな実行可能ファイルです。 alternatives --config Java
を実行すると、実行するJava
実行可能ファイルのバージョンのみが構成されます。ただし、JDKには、たとえばjavac
コンパイラが含まれています。使用するコンパイラのバージョンも構成する必要があります。
alternatives コマンドは、一言で言えば、シンボリック(またはsym)リンクのルックアップを維持するために使用されます。 --configure
オプションを使用して実行するJava
のバージョンを選択する前に、まず--install
オプションを使用して実行可能ファイルへの実際のパスを登録する必要があります。 alternatives --install
はソフトウェアをインストールしていません。 alternatives
フレームワークにいくつかのパスとエイリアスを登録するだけです。 (注:alternatives
はalias
コマンドを使用していません。つまり、従来の文字通りの意味での「エイリアス」を意味します。)
また、rpm
コマンドの機能についても理解する必要があります。実際には、バイナリのセットを特定のディレクトリにドロップダウンするだけです。このディレクトリは、/some/path/to/lib/jvm/Java-1.x.x-etc-etc-x86/jre/bin/Java
を明示的に指定するのに長くて面倒な場合があります。 Java
を実行するたびにこれを指定する必要はありません。代わりに、いくつかのシンボリックリンクを設定します。
PATH
Linuxで動作する についても読むことをお勧めします。
マシンのセットアップをトレースしてみると、より明確になる場合があります。これが私が実行したものです:
> which Java
/usr/bin/Java
> ls -l /usr/bin/Java
lrwxrwxrwx 1 root root 22 Aug 14 2014 /usr/bin/Java -> /etc/alternatives/Java
> ls -l /etc/alternatives/Java
lrwxrwxrwx 1 root root 73 Aug 14 2014 /etc/alternatives/Java -> /usr/lib/jvm/Java-1.7.0-openjdk-1.7.0.65-2.5.1.2.fc19.x86_64/jre/bin/Java
OSのデフォルトとしてJava JRE/JDKの異なるバージョンを取得するには:
Sudo alternatives --install /usr/bin/Java java [path_to_Java_bin] 1
私の場合の例は次のとおりです。
Sudo alternatives --install /usr/bin/Java java /usr/Java/jdk1.7.0_80/bin/Java 1
次に、構成を実行して、代替のJavaバージョン:
Sudo /usr/sbin/alternatives --config Java
1,2またはご希望のオプションを選択してください
次に、次の手順で変更を確認します。
Java -version
これらの「代替」スクリプトおよび同様のツールは、目的のJDKバージョンのバイナリをそれらが期待されるディレクトリにシンボリックリンクするだけです。これは、コマンドラインで使用できるはずのすべてのコマンドに対して実行されます。
「すべて」の定義は、ディストリビューションによって異なります。
Ubuntuの場合はupdate-alternatives