即使设置为以管理员身份登录,Tomcat7 服务也无法在 Windows 7 上启动

即使设置为以管理员身份登录,Tomcat7 服务也无法在 Windows 7 上启动

我无法在 Windows 7 笔记本电脑上自动启动 Tomcat7 服务。重新启动 Windows 时,我收到消息“访问被拒绝。无法打开服务 Tomcat7”虽然我已将服务设置为以管理员身份登录。

我还为所有用户将 Tomcat 目录(位于 Program Files 目录之外)及其所有子目录设置为“完全控制”(这应该有点过头了)。然而我使用“以管理员身份运行”上下文菜单项手动启动它。

如果可以,为什么将其设置为以管理员身份运行作为服务不起作用?

答案1

我遇到了同样的错误,我设法解决了它。虽然就我而言,即使每次启动机器时都会发生相同的错误,但服务仍在运行,因为我可以使用我的应用程序。但我真的想摆脱这个问题,这样客户就不会被迫看到这个烦人的错误。

我的做法是将 tomcat7w.exe 设置为始终以管理员身份启动。具体操作如下:右键单击 tomcat 安装的“bin”文件夹中的 tomcat7w.exe,选择“属性”,然后在“权限级别”下的“兼容性”选项卡中选择“以管理员身份运行此程序”。

为了完整起见,我把我的答案写下来,因为我认为这可能是 Win 7 家庭版用户的唯一方法,因为在这个版本中根本没有设置本地策略的选项,而这是@ta.speot.is 提供的答案中必需的(顺便说一句 +1)

答案2

如果可行,为什么将其设置为以管理员身份运行服务不起作用?

管理员可能没有作为服务登录授予它。

答案3

除了 Blomkvist 的答案之外,您还可以使用系统配置工具禁用启动“Commons Daemon Service Manager”(Tomcat7w.exe)的。如果您启用了“以管理员身份运行”,则它在启动过程中无论如何都无法正常运行。

有关 Tomcat7 与服务的默认安装的一些背景信息:
Tomcat7w.exe是 Apache 的“Commons Daemon 服务管理器”。默认情况下,它配置为在启动时以当前用户身份运行。它会尝试连接到服务Tomcat7.exe,默认情况下该服务以用户“SYSTEM”身份运行。问题是,当前用户没有足够的权限来操作用户 SYSTEM 的服务或进程。

您可以禁用“Commons Daemon Service Manager”。它仅提供对服务进程的便捷远程控制。您可以使用服务管理工具或命令行netsc命令来实现所有相同的功能。将它们放入批处理文件中并将其属性更改为以管理员身份运行(它们也必须以管理员权限运行。)

net stop "Tomcat7"
net start "Tomcat7"

答案4

右键单击 tomcat7w.exe(位于 %CATALINA_HOME%\bin)。单击“属性”菜单项,然后选择“兼容性”选项卡。选中“权限级别”部分下的“以管理员身份运行此程序”复选框。单击“确定”按钮。

相关内容