问题
Post Tomcat 8.0.53, when I install Tomcat (9.0.30 or 8.5.50) and install it as service (Using service.bat), it gets installed but with "Log on" as "Local Service" instead of "Local System account".
This can be seen under services in windows.
Because of this, when I run the service, the application is not able to read a file.
If I manually go to services, open properties for my service, then change the Log on as "Local System" and save, everything works perfectly.
- Why does this happen for tomcat versions post 8.0.53?
- How can tomcat be installed so that it has "Log on as" set to "LocalSystem" instead of "LocalService"? I am not able to do it with additional parameters like
--User
and--Password
as mentioned in the 8.5 and 9.0 documentation.
回答1:
This appears to be a result of these issues: 55969 and 63310. The update to Commons Daemon 1.2.0 seems to be the cause, and it does not appear that one can modify this setting during installation.
However, it can be set to Local System afterwards from an administrator command prompt with the following command:
sc config Tomcat8 obj=LocalSystem
回答2:
Hoping Google will pick this up so the next user can find this 3 hours quicker...
For me this error manifested itself with a Chrome console message:
net::ERR_CONTENT_LENGTH_MISMATCH 200
...and this error was only raised after my html called some css using relative path.
As shown above, the problem was solved by changing the windows service to a local system account which can interact with desktop.
Does any stackoverflow superuser know how to get that message into the question title above? That's what it Chrome shows when Tomcat "is not able to read a file".
来源:https://stackoverflow.com/questions/59929708/tomcat-service-gets-installed-with-local-service-account