[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends:00414] JavaService.exe によるサービス化時の classpath の渡し方
いつも大変お世話になっております。堀口@HISです。
Javaアプリケーションを [JavaService.exe]を使用して
Windowsサービス化することを考えています。
JavaService.exe -install "My Service Name" c:\j2sdk1.4.1\jre\bin\client\jvm.dll -Djava.class.path=<classpath> -Xrs -start <MyServiceClass> -method main -params <my.properties> -out <mydir>\log\stdout.txt -err <mydir>\log\stderr.txt -current <mydir> -manual
上記のパラメータで実行し、
(1)サービス登録は成功
(2)JavaService.exeのレジストリ
「HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Services\ {SERVICE_NAME}\ Parameters」
の内容を確認 ⇒ 正常(指定値は全て正しく登録されている)
(3)サービス起動 ⇒ 成功
までは正常なのですが、上記の<MyServiceClass>の実行中に
その中で参照しているクラスが「java.lang.NoClassDefFoundError」
となります。
「-Djava.class.path=<classpath>」の指定が不正なのかと考え
pathの順序を変えるなどして試しましたが、状況は変わりません。
また同じ<classpath>で、コマンドプロンプトから
「 java -Djava.class.path=<classpath> <MyServiceClass> <my.properties>」
での実行では、「java.lang.NoClassDefFoundError」にはならずに正常動作します。
JavaService.exeのサイトも見て見たのですが、有用な情報は
見つけられなかったです。
上記について、知見をお持ちでしたらご教示願いたく、よろしく
お願いいたします。なお環境は以下です。
OS: Windows 2000 Server Sp3
J2SDK: j2SdK 1.4.1
JavaService.exe: 1.2.3
以上
環境:
OS:WindowsXP Professional(SP1)
SDK:SDK1.4.1_03
IDE:Eclipse2.1.1
窪田