使用tomcat9w.exe 启动,却有些调用计算机本地的功能无法实现(已解决)

首先我们启用

Tomcat通过startup.bat启动项目,可以获取打印机(这个是可以的)
Tomcat通过tomcat9w.exe启动项目,程序可以执行,但是打印确实失败
Tomcat通过tomcat9服务,程序可以执行,但是打印确实失败(同上↑)

tomcat9w.exe服务启动项目,无法获取打印机,更准确的说,是可以获取本地打印机,无法获取网络上共享的打印机

继续研究发现,Tomcat9服务默认使用的是本地账号(Local System Account),这个账号的权限是无法访问网络上的硬件设备(Network Services)的。得出这个结论,一切都OK了,只需要给Tomcat9服务更换一个具有能够访问网络服务权限的账号就行了,实践证明,这是正确的。

解决方案:

1.找到Windows系统中Tomcat9服务(右键此电脑==》管理==》服务和应用程序==》服务);
2.右键Tomcat9服务==》“属性”》“登录”,修改登录身份,不使用默认的“本地系统账号”,通过“此账号”选择一个具有访问网络服务权限的账号,此处我选择了“自己本人的权限(授权)”,》应用、确定后,重启Tomcat9服务或者使用tomcat9w.exe启动,发现能正常获取打印机。
使用tomcat9w.exe 启动,却有些调用计算机本地的功能无法实现(已解决)
使用tomcat9w.exe 启动,却有些调用计算机本地的功能无法实现(已解决)