2014年6月21日土曜日

Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader

Apacheのcommons-daemonを使ってサーバープログラムをデーモン化しようとしていたらjsvcの起動でエラーに遭遇。

「Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader」

調べても解決してるっぽい記事がでてこない。
原因はjsvcの-cpオプションに指定するjarを相対パスでしていたことだった。
jsvcは-userを指定して実行ユーザーを変えたりできるのでJVM実行時のカレントディレクトリは別の場所になっているようだ。
-cpに指定するパスはすべて絶対パスにすることで起動に成功した。


1 件のコメント:

  1. -cwd [相対パスのroot]をオプションに追加したら動きますよ。(commons-daemon 1.0.15で確認)

    返信削除