GNU/Linux >> Linux の 問題 >  >> Linux

JAVA_HOME を見つけて RHEL に設定します

readlink コマンドは、シンボリック リンクのフル パスを表示します:

readlink -f `which java`

あなたができる最善のことは、Red Hat の Java を完全に避けることです。

Java を Oracle から取得して /opt に配置します。次に、シンボリック リンク /opt/java -> /opt/jdk-someversion を作成し、

を含む /etc/profile.d/java.sh を作成します。
#!/bin/sh
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH

次に、システム全体の Java を変更するには、opt でシンボリック リンクを変更するだけです。複数の Java バージョンを使用するには、適切な JAVA_HOME で上記のようなスクリプトを使用します。

さらに、/etc/init.d スクリプトを実行するために使用される /sbin/service スクリプトは、環境変数をはぎ取ります - env -i を明示的に実行します。つまり、Tomcat は JAVA_HOME を取得できません。$CATALINA_BASE/bin に setenv.sh を作成する必要があります。

このアプローチの欠点は、Red Hat から Java の更新を受け取れないことです。


まず、echo $JAVA_HOME を試してください コマンドラインから。 java以降 JAVA_HOME はすでにあなたのパスにあります

<ブロック引用>

私のJavaインストールのインストールディレクトリを把握する最良の方法は何ですか

コマンド which java の実行 java の場所を示します がインストールされています。

<ブロック引用>

次に、JAVA_HOME を設定します

~/.bashrc を編集できます 、 ~/.bash_profile 、または /etc/profile JAVA_HOME を設定する . ~/etc/profile で設定 システム全体に設定されますが、これはおそらくあなたが望むものではありません。例として which java の出力を考えてみましょう /opt/jdk_1.7.0_25 です の場合、 export JAVA_HOME=/opt/jdk_1.7.0_25 を追加するだけです ~/.bashrc へ または ~/.bash_profile そして source ~/.bashrc を実行します (または source ~/.bash_profile そこに設定した場合)

この場合、java であることに注意してください。 PATH にあります ただし、場合によっては export PATH=$PATH:$JAVA_HOME/bin を追加する必要があります JAVA_HOME を追加するには PATH への変数 .


RHEL は代替サブシステムを使用して Java インストールを管理します。複数のバージョンの Java をインストールできますが、一度にアクティブにできるのは 1 つだけです。

これは、which java を実行していることを意味します。 有益な情報を提供しません。代替手段によってどの Java インストールが選択されても、出力は同じです。 readlink -f $(which java) を実行中 (すでに別のコメントで提案されているように)または代替案 alternatives --display java を使用する

OpenJDK がインストールされた RHEL 6 マシンの例を参照してください (RHEL に同梱されています):

[[email protected] ~]# which java
/usr/bin/java
[[email protected] ~]# readlink -f $(which java)
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre/bin/java
[[email protected] ~]# alternatives --display java | head -2
java - status is manual.
 link currently points to /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

環境変数 JAVA_HOME に注意してください デフォルトではどこにも定義されていないため、 .bashrc で自分で定義する必要があります

前の例では、正しい値は JAVA_HOME です /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64 になります .

詳細については、「OpenJDK ドキュメントのインストール」を参照してください。セクション「オプション:JAVA_HOME 環境変数を設定する」を検索してください。


Linux
  1. パターンを見つけて移動しますか?

  2. CentOS / RHEL :RPM のインストール日時を確認する方法

  3. JAVA_HOME が設定されていますが、JAVA がパスにありません

  1. ファイルを検索してコピーする

  2. ディレクトリを見つけて名前を変更する

  3. JAVA_HOME と PATH は設定されていますが、 java -version にはまだ古いバージョンが表示されます

  1. fd –コマンドを見つけるためのシンプルで高速な代替手段

  2. オプションのパラメータを設定する方法は??

  3. -execが失敗した場合の検索から抜け出しますか?