【问题标题】:Tomcat server is not starting as service: %1 is not a valid Win32 applicationTomcat 服务器未作为服务启动:%1 不是有效的 Win32 应用程序
【发布时间】:2012-08-11 10:26:17
【问题描述】:

我的 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.

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

【问题讨论】:

  • 如果有错误日志可以贴一下吗
  • 请检查。 . .我编辑了错误的帖子
  • 你运行的是 32 的 64 位吗? tomcat.10.n6.nabble.com/…
  • 是的,你是对的......我卸载了它并安装了一个新的 64 位版本,谢谢你的帮助

标签: java eclipse tomcat


【解决方案1】:

试试这个

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

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

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

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

Apache Tomcat1

【讨论】:

    【解决方案2】:

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

    第一:

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

    解决办法:

    • 如果已经安装了Tomcat7服务,请卸载它;
    • 下载 64 位版本 Tomcat 7 for windows(查看this link to get the latest - 我使用的是7.0.42 版本);
    • 替换C:\xampp\tomcat\bin文件夹中的tomcat7.exetomcat7w.exe文件替换为最近下载的zip文件中的文件。

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

    【讨论】:

      【解决方案3】:

      同样的问题发生在

      • 64 位 Tomcat 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 服务

      【讨论】:

        【解决方案4】:

        如果您想将 Tomcat 作为 Windows 服务运行,最简单的方法是使用 32-bit/64-bit Windows Service Installer

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

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

        【讨论】:

          【解决方案5】:

          您的 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

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

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

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

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

              【讨论】:

              • 你应该把最后一行放在最上面
              【解决方案8】:

              在 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 --> 参数中折叠省略号 在参数下,您将看到以下文件夹;

                Java 日志 开始 停止

              点击“Java”文件夹,双击“名称”栏下的Jvm

              将打开一个弹出框。

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

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

              关闭注册表,瞧。

              戴夫

              【讨论】:

                猜你喜欢
                • 2012-11-30
                • 2014-10-26
                • 2019-03-30
                • 2014-10-24
                • 1970-01-01
                • 1970-01-01
                • 2018-08-26
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多