回答:
よくわかりませんが、通常のRPMSをインストールすると、JAVA_HOME値も次のように設定できます。
/usr/java/default/
編集:ホームシステムをチェックしました。このファイルを作成しました:
/etc/profile.d/java.sh
含まれるもの:
export JAVA_HOME=/usr/java/default/
Sunの公式バージョンjdk-1.6.0_12-fcsを使用しています
編集:ここに私のマシンでJavaを設定する方法です:
OracleからJava JDKをダウンロードしてインストールする
次の2つのコマンドを使用して、OpenJDKバージョンの代わりにこのJavaが使用されていることを確認します。
alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
--slave /usr/bin/jar jar /usr/java/default/bin/jar \
--slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
すべてのユーザーのJAVA_HOME環境変数が正しい値に設定されていることを確認します。
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
/usr/java/default
OpenJDK 1.6および1.7がインストールされたCentOS 6ボックスにはありません。
JAVA_HOMEをJDKまたはJREのルートロケーションに設定します。次に例を示します。
export JAVA_HOME=/usr/java/jdk1.3
JDK(開発キット)がインストールされている場合、ypuはおそらくそれを指すようにします。そうでない場合は、JREパス(Javaランタイム環境)を使用します。次に、$ PATH環境変数を設定して、binディレクトリも含めるようにします。
export PATH=$PATH:/usr/java/jdk1.3/bin
tomcatを使用している場合は、tomcatユーザーのCATALINA_HOMEも設定する必要があります。
export CATALINA_HOME=/path/to/tomcat
これをシステムに設定するには、/ etc / profileを編集するか、/ etc / profile.dフォルダーに.shファイルを追加します。特定のユーザーについては、ユーザー〜/ .profileまたは〜/ .bash_profileファイルに配置できます。
以下は常に私のために完璧に働いています:
[user@base ~]$ locate bin/java
/usr/bin/java
/usr/bin/javac
/usr/bin/javadoc
/usr/bin/javaws
/usr/java/jdk1.6.0_31/bin/java
/usr/java/jdk1.6.0_31/bin/javac
/usr/java/jdk1.6.0_31/bin/javadoc
/usr/java/jdk1.6.0_31/bin/javah
/usr/java/jdk1.6.0_31/bin/javap
/usr/java/jdk1.6.0_31/bin/javaws
/usr/java/jdk1.6.0_31/jre/bin/java
/usr/java/jdk1.6.0_31/jre/bin/java_vm
/usr/java/jdk1.6.0_31/jre/bin/javaws
JAVA_HOMEを/usr/java/jdk1.6.0_31として設定できることを意味します
使用されているjavaのバージョンを変更する場合の問題を検討しました。
alternatives --config java
その後、ハードコーディングされたものJAVA_HOME
はすべて変更されます(少なくとも、現在見つめているCentos 6.6で変更されます)。つまり、ありません/usr/java
。
これは最良の方法ではないように見えますが(失敗する可能性があります)、私はこれに費やした10分で最高のように見えます。
で/etc/bashrc
、私に設定を変更JAVA_HOME
:します
export JAVA_HOME=$(alternatives --display java | grep current | sed 's/link currently points to //' | sed 's|/bin/java||')
あなたはMacOSXの上で似た何かをする必要がありますが、すべてなしgrep
とsed
の結果を解析します。確かにalternatives
同様の簡単なソリューションを提供します。
とにかく助けてくれたらいいな。
更新
いいえ、そうですJRE_HOME
。JDK / SDKはそれほど明白ではありません(これからも見ていきます)。
alternatives
唯一、デフォルトでJREについてのようです。@Nielsの回答に従うか、Javaをインストールしyum
てJAVA_HOMEをその値に設定します(トリックは、インストール先を見つけたところです!)。
yum install java-1.8.0-openjdk-devel.x86_64
cd /usr/lib/jvm
へのjava_1.8.0
シンボリックリンクに気づいた/etc/alternatives/java_sdk_1.8.0
ので、$ JAVA_HOMEをに設定します/usr/lib/jvm/java_1.8.0
。で/etc/bashrc
。
パッケージマネージャーはさまざまな場所に配置できることがわかったので、これを使用すると(コンテナーを使用する場合は明示的にインストールする必要があります)、以下の方が少し脆弱です
javaCompiler=$(which javac)
javaBin=$(dirname $(readlink -f $javaCompiler))
javaHome=${javaBin%/*}
export JAVA_HOME=$javaHome
またはJREの場合
javaExec=$(which java)
javaBin=$(dirname $(readlink -f $javaExec))
javaHome=${javaBin%/*}
export JRE_HOME=$javaHome