18

我的 tomcat 服务器在 Eclipse 中运行良好,但是当我尝试启动服务器时它没有启动。

以下是错误:

[2012-08-15 09:26:09] [info] Procrun (2.0.5.0) started
[2012-08-15 09:26:09] [info] Running Service...
[2012-08-15 09:26:09] [info] Starting service...
[2012-08-15 09:26:09] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:26:09] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:26:09] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:26:09] [info] Run service finished.
[2012-08-15 09:26:09] [info] Procrun finished.
[2012-08-15 09:29:06] [info] Procrun (2.0.5.0) started
[2012-08-15 09:29:06] [info] Running Service...
[2012-08-15 09:29:06] [info] Starting service...
[2012-08-15 09:29:06] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:29:06] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:29:06] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:29:06] [info] Run service finished.
[2012-08-15 09:29:06] [info] Procrun finished.
[2012-08-15 09:30:07] [info] Procrun (2.0.5.0) started
[2012-08-15 09:30:07] [info] Running Service...
[2012-08-15 09:30:07] [info] Starting service...
[2012-08-15 09:30:07] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:30:07] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:30:07] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:30:07] [info] Run service finished.
[2012-08-15 09:30:07] [info] Procrun finished.
[2012-08-15 09:30:57] [info] Procrun (2.0.5.0) started
[2012-08-15 09:30:57] [info] Running Service...
[2012-08-15 09:30:57] [info] Starting service...
[2012-08-15 09:30:57] [197  javajni.c] [error] %1 is not a valid Win32 application.
[2012-08-15 09:30:57] [994  prunsrv.c] [error] Failed creating java C:\java\java\jre\bin\server\jvm.dll
[2012-08-15 09:30:57] [1269 prunsrv.c] [error] ServiceStart returned 1
[2012-08-15 09:30:57] [info] Run service finished.
[2012-08-15 09:30:57] [info] Procrun finished.

这些错误是什么意思,我该如何解决?

4

8 回答 8

15

我遇到了完全相同的问题,它是由在 64 位窗口上运行 32 位 Tomcat 引起的。(我在 Windows 8 64 位中使用 XAMPP 1.8.3。)

第一的:

  • 确保您的JAVA_HOME系统变量指向您的 jdk 文件夹(而不是\bin);
  • 确保%JAVA_HOME%\bin;在您的%PATH%系统变量中。

解决方案:

  • 如果您已经安装了Tomcat7服务,请卸载它;
  • 下载 Tomcat 7 for windows 的64 位版本(查看此链接以获取最新版本- 我使用的是7.0.42版本);
  • 将文件夹的tomcat7.exetomcat7w.exe文件替换C:\xampp\tomcat\bin为最近下载的 zip 文件中的文件。

现在您可以像往常一样安装该服务(通过 XAMPP 控制面板,如果您使用它),它应该可以正常启动。

于 2014-01-04T18:22:14.653 回答
9

确保“jvm.dll”(启动 tomcat8w.exe 时选项卡“Java”)的路径找到正确的 Java 运行时环境版本(x64 或 x86)。

在以下两种情况下都会出现此问题:

1 - 您的 Tomcat 服务器版本是 64 位,但使用的是 32 位版本的 Java 虚拟机。
2 - 您的 Tomcat 服务器版本是 32 位,但使用的是 64 位版本的 Java 虚拟机。

于 2016-04-29T09:21:31.683 回答
2

尝试这个

将 java 的 bin 目录下的 msvcr71.dll 复制到 tomcat 的 bin 文件夹中。

将 java 的 bin 目录添加到 windows 环境变量中。

将 msvcr71.dll 从 java 的 bin 目录复制到 windows\system32 文件夹。

确保您的 tomcat 指向正确的 jvm.dll 文件夹。

阿帕奇雄猫1

于 2012-08-15T04:30:59.523 回答
1

同样的问题发生时

  • 64 位雄猫 7
  • 64 位 Windows 服务器
  • 32 位 JDK(在 JDK_HOME 系统变量中)

您只能在 32 位 Tomcat 7 上使用 32 位 JDK。如果要将 Tomcat 7 64 位更改为 32 位

  • 将 CATALINA_HOME 变量更改为 32 位 Tomcat 7 路径
  • 删除 Tomcat Windows 服务
  • 安装 Tomcat Windows 服务
于 2014-06-26T05:55:51.893 回答
1

您的 Tomcat 是 64 位但指向 32 位 java

  1. 打开 Apache Tomcat 配置(从命令行:tomcat7w //ES//your-instance)
  2. 转到 Java 选项卡
  3. 将 Java 虚拟机设置为所需的位版本,例如:C:\Program Files\Java\jre1.8.0_66\bin\server\jvm.dll

为避免在创建新实例时出现问题,请检查 JAVA_HOME 指向的位置并将其设置为 64 位版本 jdk(不是 jre),例如 C:\Program Files\Java\jdk1.8.0_66

于 2016-02-02T07:57:10.367 回答
0

如果要将Tomcat 作为 Windows 服务运行,最简单的方法是使用 32 位/64 位 Windows 服务安装程序

我在使用 Tomcat 时遇到了同样的问题service.bat install,但我不知道它是 32 位还是 64 位安装。

使用Tomcat 32-bit/64-bit Windows Service Installer帮我快速解决了!

于 2015-01-15T19:15:36.610 回答
0

打开 Apache Tomcat 配置 -> Java 选项卡 -> 单击“使用默认值”

于 2016-02-29T14:36:29.863 回答
0

Sage CRM 7.1g 上的错误生成报告:此错误表明 Tomcat 已停止并且无法启动。因此,以下解决方案适用于以 excel 或 PDF 或任何其他格式检索报告并需要运行 Tomcat 的 Sage CRM 用户。该解决方案适用于Tomcat6。

  1. 运行 jdk-8u121 -windows-i586(这是 32 位 JDK)

  2. 配置环境变量变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.8.0_121

  3. 点击确定,确定,确定

4.点击打开注册表;Window的开始按钮--->在它读取的地方输入“REGEDIT”(搜索程序和文件),

点击出现的REGEDIT

  1. 在注册表中,遵循此路径

    HKEY_LOCAL_MACHINE --> SOFTWARE ----> Wow6432Node ---> Apache Software Foundation

    折叠“Procrun --> Tomcat6 --> Parameters 在Parameters下的省略号,您将看到以下文件夹;

    Java 日志开始停止

单击“Java”文件夹并双击“名称”列下的 Jvm

将打开一个弹出框。

复制您之前设置的环境变量值。在本例中:C:\Program Files (x86)\Java\jdk1.8.0_121 并粘贴到“Value Data”空间中,并在末尾附加 \jvm.dll .

这是完整路径:C:\Program Files (x86)\Java\jdk1.8.0_121\jre\bin\client\jvm.dll

关闭注册表,瞧。

戴夫

于 2017-02-15T13:19:42.083 回答