Wenn Windows Tomcat als Dienst startet, wird die Datei startup.bat nicht wie beim manuellen Start verwendet. Ich nehme an, dass sich Ihre DLL-Dateien an einer Stelle befinden, die normalerweise nicht auf dem Java/Tomcat-Pfad liegt, und Sie haben einige manuelle Ergänzungen/Änderungen an startup.bat oder catalina.bat vorgenommen, um sie Tomcat zur Verfügung zu stellen? In diesem Fall müssen Sie die Optionen für den Dienststart ändern, um sie auch dort zu definieren.
Navigieren Sie an einer Eingabeaufforderung zum tomcat-bin-Ordner. Führen Sie den Befehl tomcat6w.exe // MS // servicename (ersetzen servicename mit dem Namen Ihres Dienstes), um den Dienstdialog zu öffnen. Klicken Sie auf die Registerkarte Java und dort können Sie sehen, wo Sie zusätzliche Optionen definieren können, die beim Start an den Dienst übergeben werden. Sie müssen wahrscheinlich einen Wert für java.library.path definieren, um auf den Ordner zu verweisen, in dem sich Ihre DLLs befinden.
Tipp: Benennen Sie die Datei tomcat6w.exe servicename.exe (als Ersatz für service mit dem Namen Ihres Service) zu sein, und Sie können dann doppelklicken Sie einfach auf den Service-Dialog aufzurufen.
Woher stammen die DLL-Dateien? Sind sie explizit in startup.bat konfiguriert? – aksappy
Die DLL-Dateien sind Gerätetreiber, die während der Installation des Hardwaregeräts installiert werden. und in startup.bat sind sie nicht explizit konfiguriert. Die DLL-Dateien sind in system32 – Ash