Nutch、Solr、Hbase などをやろうとするとJAVA_HOMEエラーに遭遇する。大抵の場合は、環境変数に正しいJAVA_HOMEが指定されてないとか、指定の場所にJREやJDKが見つからないという事である。
そんな場合には、以下の方法で環境変数を確認、そして設定する。
まずは、現在の値を確認。何も出てこなかったら、設定する必要があり、出てきた場合は、パスが間違っていた事になる。
> echo $JAVA_HOME
設定するにあたり、JAVAがインストールされてるのかどうかを確認する。Debian、Ubuntu であれば、/usr/lib/jvm 以下に入ってるはず。入っていなければOracleのサイトからダウンロードしてコピーもしくはインストールする。
そもそも、JREとJDKのどちらが必要なのかだが、JDKを入れておけば、JREも入ってくるし、Nutch2のようにJAVAのコンパイルが必要な場合には、JDKが必要になるので、Java Platform Standard Edition の JDK をインストールしておくと色々と楽。
Java Platform JDKをインストールしたら、JAVA_HOMEが設定されてそうな気もするが、念のためにechoで確認して、されてなかったら以下の設定を行う。
JDK、JREは以下にインストールされたとする。
/usr/lib/jvm/java-7-oracle
編集個所は何か所かある。
A. ユーザーの初期パスとして使いたい場合は、/etc/profile を編集
B. 特定のユーザーだけにパスを使いたい場合は、/home/<UserName>/.bashrc を編集
C. root でパスを使いたい場合は、/root/.bashrc を編集
それぞのファイルには既にif 以下があると思うので、それに追加する形で編集する。
# Update Begin export JAVA_HOME=/usr/lib/jvm/java-7-oracle if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" fi PATH=$PATH:$JAVA_HOME/bin export PATH # Update End
/etc/profile を編集した場合、以下のコマンドで現在のユーザの環境変数を更新する。
> source /etc/profile
設定されたか確認
> echo $JAVA_HOME