Tomcat8 ハングアップ 起動しない | パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

会員No.18です。

TomcatをLinuxでinitd(CentOS や Redhat の7系だとsystemdが一般的)でサービス登録、起動することがありますが、Tomcat8をサービス起動した際にハングアップしたことがあったので記事にします。
※Tomcat7では発生しません。

■環境
Red Hat Enterprise Linux 7.1
Java Version 8 Update 45
Tomcat 8.0.23

■現象
Tomcat8起動時にsetenv.shで下記のようにCLASSPATHを設定していました。
--setenv.shの内容 ここから--
export CLASSPATH="$CLASSPATH:xxx:yyy:zzz"
--setenv.shの内容 ここまで--

上記設定で$CLASSPATHがブランクの場合、CLASSPATHが:(コロン)から始まる文字列になり、Tomcat8が起動時にハングアップしてしまいます。

(参考) https://bz.apache.org/bugzilla/show_bug.cgi?id=57823


■対処
$CLASSPATHがブランクの場合はsetenv.shから必要のない$CLASSPATH:を削除する。

・修正前
export CLASSPATH="$CLASSPATH:xxx:yyy:zzz"

・修正後
export CLASSPATH="xxx:yyy:zzz"