serposcopeでエラーが出た時の解決方法: Can't find JAVA_HOME, java seems not installed on this OS

serposcopeを起動しようとした時にエラーが出た場合の解決方法

serposcopeのインストールが一通り完了し、起動しようとした時にエラーが出て起動できなかったので解決方法を調べて、起動できるようにした手順を解説します。

エラーの状況

$ sudo service serposcope start

serposcopeのインストールが一通り完了して、上記のコマンドを入力して、起動を行った時に下のようなエラーメッセージが表示されました。

Job for serposcope.service failed because the control process exited with error code. See "systemctl status serposcope.service" and "journalctl -xe" for details.

簡単に訳すと、 「serposcope.service」のプロセスを実行しようとしたけど、エラーが出ました。エラーの内容を見るなら「systemctl status serposcope.service」か「journalctl -xe」のコマンドを入力してください。

このように表示されたので、「journalctl -xe」のコマンドを入力したところ、以下のように表示されました。

$ journalctl -xe

-- Unit serposcope.service has begun starting up.
6月 01 23:55:56 ××××× serposcope[19047]: Can't find JAVA_HOME, java seems not installed on this OS
6月 01 23:55:56 ××××× systemd[1]: serposcope.service: Control process exited, code=exited status=1
6月 01 23:55:56××××× systemd[1]: Failed to start LSB: serposcope rank checker.
-- Subject: Unit serposcope.service has failed

一段目にserposcope[19047]: Can't find JAVA_HOME, java seems not installed on this OSと表示されています。

どうやら「JAVA_HOME」というものが、このOS(ubuntu16.04LTS)上に見つからないらしい。

ということで、色々調べたら、自分で設定する必要があるとのことでした。

JAVA_HOME の設定

JAVAはインストール済みなので、まずはどこのディレクトリにJAVAがあるか確認します。

$ sudo update-alternatives --config java

以下のように出力されました。

リンクグループ java に 1 つの alternative のみがあります (/usr/bin/java が提供): /usr/lib/jvm/java-8-openjdk-i386/jre/bin/java
設定は行いません。

どうやら、「/usr/lib/jvm/java-8-openjdk-i386/jre/bin/java」に格納されているということが分かりました。

.bashrcの設定

ホームディレクトリに「.bashrc」という隠しファイルがあるので編集します。

「.ファイル」隠しファイル(ドットファイル)は、重要な設定等が記述されているファイルで、普段は隠されていますが、Ctrlキーを押しながらHを入力すると表示させることができます。(再び隠すときは同様の操作です)

ここでは、「.bashrc」ファイルを編集していますが、「.profile」ファイルを編集しても同じ結果になります。

「.bashrc」ファイルの最終行に以下のように追記します。

下の例では、export JAVA_HOMEに「/usr/lib/jvm/java-8-openjdk-i386」と入力していますが、これは、先ほど「$ sudo update-alternatives --config java」と入力した時に出力されたパスを記述します。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386

export PATH=$PATH:$JAVA_HOME/bin

上記の追記が完了したら、下のコマンドを入力して反映させます。

$ source ~/.bashrc

この記述により、OS全体のJAVA_HOMEの設定が完了しました。

/etc/default/serposcopeの設定

続いて「serposcope」でのJAVA_HOMEの設定を行います。

$ sudo nano /etc/default/serposcope

上記のように入力すると以下のように表示されます。

# specify alternative JAVA_HOME here
#JAVA_HOME

LOGDIR=/var/log/serposcope
DATADIR=/var/lib/serposcope
CONF=/etc/serposcope.conf
PARAMS="-Dserposcope.conf=$CONF"

ここで、#JAVA_HOMEのコメントアウトを行い、.bashrcの設定で記述したパスを入力します。

以下のようになります。

# specify alternative JAVA_HOME here
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386

LOGDIR=/var/log/serposcope
DATADIR=/var/lib/serposcope
CONF=/etc/serposcope.conf
PARAMS="-Dserposcope.conf=$CONF"

JAVA_HOME が設定されたか表示してみます。以上で/etc/default/serposcopeの設定が完了しました。

$ echo $JAVA_HOME

/usr/lib/jvm/java-8-openjdk-i386

上記で設定したパスが表示されたらOKです。

serposcope起動確認

これで設定が完了しましたので、改めてserposcopeを起動してみます。

$ sudo service serposcope start

上記のコマンドを入力して、エラー表示が出なければ成功になります。

アドレスバーに「http://localhost:7134」を入力して、登録画面に移動します。

 

 

コメント

タイトルとURLをコピーしました