Tomcat 服务使用 "Local Service" 帐户安装

Tomcat Service gets installed with "Local Service" account

Post Tomcat 8.0.53,当我安装 Tomcat(9.0.30 或 8.5.50)并将其安装为服务(使用 service.bat)时,它已安装,但 "Log on" 作为 "Local Service" 而不是 "Local System account".

这可以在 windows 中的服务下看到。

因此,当我 运行 服务时,应用程序无法读取文件。

如果我手动转到服务,打开我的服务的属性,然后更改登录为 "Local System" 并保存,一切正常。

  1. 为什么 tomcat 版本 post 8.0.53 会发生这种情况?
  2. 如何安装 tomcat 使其 "Log on as" 设置为 "LocalSystem" 而不是 "LocalService"?我无法使用 8.5 and 9.0 文档中提到的 --User--Password 等其他参数来完成此操作。

这似乎是这些问题的结果:55969 and 63310。 Commons Daemon 1.2.0 的更新似乎是原因,并且似乎没有人可以在安装过程中修改此设置。

但是,之后可以使用以下命令从管理员命令提示符将其设置为本地系统:

sc config Tomcat8 obj=LocalSystem

希望 Google 会选择它,以便下一个用户可以更快地找到它 3 小时...

对我来说,这个错误通过 Chrome 控制台消息表现出来:

net::ERR_CONTENT_LENGTH_MISMATCH 200

...并且此错误仅在我的 html 使用相对路径调用一些 css 后才出现。

如上所示,通过将windows服务更改为可与桌面交互的本地系统帐户,问题得到解决。

是否有任何 Whosebug 超级用户知道如何将该消息添加到上面的问题标题中?这就是 Chrome 在 Tomcat“无法读取文件”时显示的内容。