サービスとしてtomcatを実行しようとしていますが、デバイスドライバのdllファイルがロードされず、startup.batから起動すると完全に動作します。Windowsのサービスとしてtomcatがデバイスのdllファイルをロードしない
誰でも試してみてください。
サービスとしてtomcatを実行しようとしていますが、デバイスドライバのdllファイルがロードされず、startup.batから起動すると完全に動作します。Windowsのサービスとしてtomcatがデバイスのdllファイルをロードしない
誰でも試してみてください。
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ファイルの名前を変更し、そしてちょうどサービスダイアログを表示するために、それをダブルクリックすることができます。
明らかに、startup.batからのtomcatの実行とサービスとしての設定の違い(たぶんパス、多分JDK)があります。したがって、いくつかのout.printlnコマンドでJSPを追加したり、ログを調べたりすることができれば、PATH、CLASSPATH、java.library.pathなどの値は両方のシステムにあり、違いが分かります。 startup.batバージョンのどこかのパスは、DLLが存在する場所を指していて、明らかにservice-versionには正しいパスにこの場所がありません。 –
dllファイルはどこにありますか?それらはstartup.batで明示的に設定されていますか? – aksappy
dllファイルは、ハードウェアデバイスのインストール中にインストールされるデバイスドライバです。 startup.batでは明示的に設定されていません。 dllファイルはsystem32にあります – Ash