0

Linux マシン (centos 5.8) に java_home を追加しようとしています。

この部分を追加して、マシンのすべてのユーザーの JAVA_HOME と PATH を設定します

vi /etc/profile

JAVA_HOME=/opt/jdkx.x.x_xx のエクスポート

export PATH=$PATH:$JAVA_HOME/bin

設定後、echoコマンドで確認してみます

echo $JAVA_HOME

しかし、それは私にパスを与えません.私の設定に何か問題がありますか?

4

3 に答える 3

2

This method will persist OS updates

echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh

If you have more then on version of java install there may be trouble.

于 2012-09-11T00:39:48.617 に答える
1

JAVA_HOME パスは異なります。これは、異なるバージョンの JDK をインストールすることが多く、場合によっては異なる場所にインストールするためです。一度、一般的な方法を見つけようとします。結果があります。

まず、インストールされている jdk パッケージ名を照会します。rpm -qa|grep java

私の結果は次のとおりです: java-1.6.0-openjdk

次に、このパッケージのインストール場所を照会します

rpm -ql java-1.6.0-openjdk

ほとんどのファイルは/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/にあります。

そこに行って、それが実際のJDKディレクトリであることを確認してください

第三に、ターミナルで実行export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/します。または、すべてのユーザーに対して/etc/bashrcを追加します。

于 2012-04-20T08:33:32.247 に答える
0

質問が編集されました。回答が意味をなさなくなりました。

コメントのプレースホルダーとして残されています。

echo $SHELL使用しているシェルがわかります。ほとんどの場合、/bin/bash です。

bash を想定すると、/etc/profile は、新しいインタラクティブ シェルだけでなく、ログイン シェル (bash --login) に対してのみ読み取られます。

つまり、もしあなたが

sh1% vi /etc/profile
sh1% bash # /etc/profile not read
sh2% echo $JAVA_HOME
sh2%


sh1% vi /etc/profile
sh2% bash --login # /etc/profile should be read.
sh2% echo $JAVA_HOME
/opt/blah/blah/blah
sh2%
于 2012-04-18T07:04:13.743 に答える