2016-07-19 10 views
1

サービスとしてtomcatを実行しようとしていますが、デバイスドライバのdllファイルがロードされず、startup.batから起動すると完全に動作します。Windowsのサービスとしてtomcatがデバイスのdllファイルをロードしない

誰でも試してみてください。

+1

dllファイルはどこにありますか?それらはstartup.batで明示的に設定されていますか? – aksappy

+0

dllファイルは、ハードウェアデバイスのインストール中にインストールされるデバイスドライバです。 startup.batでは明示的に設定されていません。 dllファイルはsystem32にあります – Ash

答えて

1

WindowsがサービスとしてTomcatを起動するとき、手動起動の場合と同様にstartup.batファイルは使用されません。私はあなたのDLLファイルがjava/tomcatパス上にない場所にあり、startup.batやcatalina.batに手動で追加/変更を加えてtomcatに利用できると仮定します。その場合は、サービス開始オプションも変更して定義する必要があります。

コマンドプロンプトでtomcat binフォルダに移動します。 tomcat6w.exe // MS //サービス名サービス名をサービス名に置き換えて)サービスダイアログを開きます。 [Java]タブをクリックすると、起動時にサービスに渡す追加オプションを定義できる場所が表示されます。 DLLがあるフォルダを参照するには、の値をjava.library.pathに定義する必要があります。

ヒント:servicename.exe(あなたのサービスの名前でサービス名を置き換える)ことtomcat6w.exeファイルの名前を変更し、そしてちょうどサービスダイアログを表示するために、それをダブルクリックすることができます。

+0

明らかに、startup.batからのtomcatの実行とサービスとしての設定の違い(たぶんパス、多分JDK)があります。したがって、いくつかのout.printlnコマンドでJSPを追加したり、ログを調べたりすることができれば、PATH、CLASSPATH、java.library.pathなどの値は両方のシステムにあり、違いが分かります。 startup.batバージョンのどこかのパスは、DLLが存在する場所を指していて、明らかにservice-versionには正しいパスにこの場所がありません。 –

関連する問題