2012-03-29 14 views
1

私はLinux CentOSリリース5.5を持っており、sun-java6-jdkをインストールしようとしています。

私は、次のコマンドを実行した場合、私は持っていることに気付きました:

java -version 
java version "1.6.0_21" 
Java(TM) SE Runtime Environment (build 1.6.0_21-b06) 
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode) 

私が行う場合:

echo $JAVA_HOME 
/usr/java/default 

私は、スクリプトを実行しようとすると、私はエラーがあります。 エラー:JAVA_HOMEが設定されていません。

.bashrcファイルの$ JAVA_HOMEに正しい値を見つけて設定するにはどうすればよいですか?

おかげで、事前

+0

は、どのように、どこからこのスクリプトを実行していますか? – Kevin

+0

この変数がシェルによってエクスポートされていますか?そうでなければ、 'echo'しようとすると表示されますが、プログラムはまだそれを見ません。 'env | grep JAVA_HOME'を確認するには – Patrick

+0

スーパーユーザー(sudo)としてスクリプトを実行すると、次のコマンドを実行しました。env | grep JAVA_HOME JAVA_HOME =/usr/java/jdk1.6.0_21 – programmer

答えて

3

JAVA_HOME変数がその後に実行されるコマンドの環境にエクスポートされていることを確認してください。あなたの.bashrcファイルに

は入れ:

export JAVA_HOME=/usr/java/default 
+0

最後に、conf/hadoop-env.shファイルに--export JAVA_HOME =/usr/java/default--という行を追加しました。それは今働いている – programmer

1

で、$ JAVA_HOME値を見つける

ls -l `which java` 

を行うと、スクリプトは、 "JAVA_HOMEが設定されていない" と表示/ javaの /ビンの親ディレクトリを使用するには? tomcatなどの起動スクリプトの場合は、そのスクリプトに$ JAVA_HOMEを設定する方がよいでしょう。

+2

' 'BEAの組み込みの' 'p java''です。' 'JAVA_HOME = $(dirname" $(dirname "$(type -p java)") ")') ' –

+0

これはHadoopのスクリプト.shです。私はできません – programmer

+0

また、私はコマンドls -l 'which java'を実行し、出力は次のとおりです:/ usr/bin/java - > /usr/java/jre1.6.0_21/bin/java – programmer

関連する問題