Apacheのcommons-daemonを使ってサーバープログラムをデーモン化しようとしていたらjsvcの起動でエラーに遭遇。
「Cannot find daemon loader org/apache/commons/daemon/support/DaemonLoader」
調べても解決してるっぽい記事がでてこない。
原因はjsvcの-cpオプションに指定するjarを相対パスでしていたことだった。
jsvcは-userを指定して実行ユーザーを変えたりできるのでJVM実行時のカレントディレクトリは別の場所になっているようだ。
-cpに指定するパスはすべて絶対パスにすることで起動に成功した。
-cwd [相対パスのroot]をオプションに追加したら動きますよ。(commons-daemon 1.0.15で確認)
返信削除