Alice の備忘録

大人の学習帳

【xampp】Tomcatサービスが起動しない

Windows 7 で xampp を使用していて、Tomcatサービスが起動しなかった時の対処方法についてのメモ。

事象

xampp Control Panel Application の画面にて、Tomcat の[Start]ボタンを押しても「running」が表示されず、ボタンが[Start]のままとなる。正常に起動した場合はボタン名が[Stop]に変わるはずである。また、画面下には「Tomcat service started」と表示されているが、実際には起動していない。

xamppの画面からではなく、Windows の 管理ツール > サービス の一覧から、Apatch Tomcat の開始を実行しても、エラーとなって起動できない。

なお、以下の方法でポート番号が既に使用されていないか確認したが、対象のポート番号は使用されていなかった。

※portcheck.bat や xampp-portcheck.exe を直接実行でも同様だと思われる。ポート番号が空いていればFREEと表示される。

原因

xampp/tomcat/conf 配下の logging.properties に設定されていたログの出力場所を確認したところ、ログがいくつか出力されており、jakarta_service.log (サービス起動停止のログ)に以下のエラーが出ていた。

[174 javajni.c][error]指定されたモジュールが見つかりません

これを元に調べたところ、Microsoft Cランタイムライブラリである msvcr71.dll が見つからないのが原因であった。

余談だが、ログは xampp > tomcat > logs 配下に出力されるとはじめに思い込んでいたので、ログが出ていない……と勘違いし、変に悩んでしまった。

対処方法

xampp のフォルダ配下を検索したところ msvcr71.dll が2つヒットしたので、その中の1つをコピーして以下のフォルダに置いた。

  • 32bitマシンの場合:C:\Windows\system32
  • 64bitマシンの場合:C:\Windows\SysWOW64

複数検索結果がでてきても中身は同じはずなので、コピーするのはどれでもよい。

これだけで起動できるようになった。