17

在 WinXP 64 上安装了 Tomcat 6。它安装得很好。但是当我尝试(从 Windows 服务)启动它时,我收到以下错误:“无法在本地计算机上启动 Apache Tomcat 服务。” 错误 216:0xd8

4

7 回答 7

13

这是众所周知的问题。

Windows 服务的 Tomcat 包装器是为 32 位 JDK 编译的。

应该允许您在 JDK64 位下将 Tomcat 安装为 Windows 服务的步骤。

  1. 下载 Tomcat 二进制安装(zip 文件;exe 文件找不到 64 位 JDK/JRE)。

  2. 从存档中提取文件。

  3. 将tomcat5.exe (tomcat6.exe) 重命名为 tomcat5.exe.32bits 到 (tomcat6.exe.32bits)

  4. 从 tomcat5_5_64bits_wrapper.zip 中提取 64 位 Tomcat 包装器并将其重命名为 tomcat5.exe (tomcat6.exe)。查看详细信息在这里。(更新:Bugzilla 帖子似乎已关闭,但我相信可以在Tomcat SVN 存储库中找到更新的 exe 文件)。

  5. 将其安装为执行“service.bat install [Tomcat instance name]”的 Windows 服务,其中 [Tomcat instance name] 是可选的 Windows 服务名称。

  6. 在某些情况下,tomcat 没有正确配置服务注册表值。它指向 JRE/JDK 的 32 位版本而不是 64 位版本。它可以显式完成(指向错误 JDK/JRE 的路径)或隐式完成(暗示使用指向 32 位版本的 JAVA_HOME 或 JRE_HOME 的“自动”值)。无论如何,强烈建议检查注册表值,该值定义将用于 tomcat windows 服务的 JDK/JRE 版本,请参阅键 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0[Tomcat 实例名称]\Parameters\Log\jvm 并指出它纠正 64 位 JDK/JRE(例如 jvm=C:\Program Files\Java\jdk1.5.0_15\jre\bin\server\jvm.dll)。

于 2008-11-09T19:17:01.230 回答
11

根据自 6.0.21 版本以来的更新日志,64 位组件被打包在本机安装程序中:

在发行版中包含 64 位 Windows 服务包装器。更新 Windows 安装程序以在 64 位计算机上自动使用正确的二进制文件。(市场)

您应该不需要进一步的配置。

于 2010-02-03T21:03:37.447 回答
4

我一直在努力解决这个问题。我试图在运行在虚拟 Intel Xeon CPU (X5460) 上的 Windox XP x64 系统上安装 Tomcat 6。我使用 FoxyBOA 的评论作为指导,但提供以下内容:

  1. 从 Sun 安装 Windows x64 JRE。
  2. 安装 Tomcat 6(我使用的是 Windows Service Installer 版本),您必须手动将其指向您在安装期间下载的 JRE(只需单击“...”按钮并找到 jre6 目录)。
  3. 从Tomcat Repository下载 tomcat6.exe 和 tomcat6w.exe 的更新版本(您可能希望找到与您下载的 Tomcat 的确切版本匹配的标记)并将它们放在 bin 目录中。我不知道为什么 amd64 版本可以在 Intel 处理器上运行,但确实可以

之后,一切正常:我能够使用它的服务管理器和 Windows 服务管理控制台启动 Tomcat。

在我这样做的时候,我使用了 Tomcat 6.0.18 和 Sun Java 6 Update 12(64 位)。

于 2009-02-17T17:26:07.833 回答
1

在 64 位 Windows 环境中运行 Tomcat 的最快和最简单的方法是安装 32 位 JDK。注意:安装 JDK 64Bit 后可以安装 JDK 32Bit,不会出现问题并会更新 JDK。

于 2009-10-25T23:34:41.077 回答
1

只是想让人们知道,当使用 64bit tomcat 6 时,要查看的注册表是

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache 软件基金会\Procrun 2.0\

注意额外的 \Wow6432Node\

谢谢您的帮助!

于 2010-05-12T10:13:48.417 回答
0

只需修改第 6 步,将其放入 java 中,而不是登录注册表值

  1. 在某些情况下,tomcat 没有正确配置服务注册表值。它指向 JRE/JDK 的 32 位版本而不是 64 位版本。它可以显式完成(指向错误 JDK/JRE 的路径)或隐式完成(暗示使用指向 32 位版本的 JAVA_HOME 或 JRE_HOME 的“自动”值)。无论如何,强烈建议检查注册表值,该值定义将用于 tomcat windows 服务的 JDK/JRE 版本,请参阅键 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0[Tomcat 实例名称]\Parameters*java*\jvm 并指向它可以纠正 64 位 JDK/JRE(例如 jvm=C:\Program Files\Java\jdk1.5.0_15\jre\bin\server\jvm.dll)。
于 2009-02-18T08:23:46.787 回答
0

供参考。我现在可以工作了:Tomcat 6.0.29 和 JRE 6u23,不用担心 - 安装 JRE,安装 Tomcat 服务安装程序,完成工作。这一切都启动并完美运行。

于 2010-11-09T13:23:56.003 回答