Tomcat服务器未作为服务启动:%1不是有效的Win32应用程序

时间:2012-08-15 04:09:02

标签: java eclipse tomcat

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

这些错误意味着什么,我该如何解决?

8 个答案:

答案 0 :(得分:14)

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

首先:

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

解决方案:

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

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

答案 1 :(得分:7)

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

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

确保' jvm.dll'的路径(tab' Java'启动tomcat $ {version} w.exe时)找到正确的Java Runtime Environment版本(x64或x86)。

答案 2 :(得分:2)

试试这个

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

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

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

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

Apache Tomcat 1

答案 3 :(得分:1)

时会出现同样的问题
  
      
  • 64位Tomcat 7
  •   
  • 64位Windows Server
  •   
  • 32位JDK(在JDK_HOME系统变量中)
  •   

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

  
      
  • 将CATALINA_HOME变量更改为32位Tomcat 7路径
  •   
  • 删除Tomcat Windows服务
  •   
  • 安装Tomcat Windows服务
  •   

答案 4 :(得分: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
  4. 为了避免在创建新实例时出现问题,请检查JAVA_HOME指向的位置并将其设置为64位版本jdk(而不是jre),例如C:\ Program Files \ Java \ jdk1.8.0_66

答案 5 :(得分:0)

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

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

使用Tomcat 32位/ 64位Windows服务安装程序帮助我快速解决了!

答案 6 :(得分:0)

打开Apache Tomcat配置 - > Java选项卡 - > Clic on“use default”

答案 7 :(得分: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. 4.点击打开注册表;    窗口的开始按钮--->输入" REGEDIT"在其内部读取(搜索程序和文件),

    点击出现的REGEDIT

    1. 在注册表中,请按照此路径

      HKEY_LOCAL_MACHINE - >软件----> Wow6432Node ---> Apache软件基金会

      从" Procrun - >折叠elipses Tomcat6 - >参数 在参数下,您将看到以下文件夹;

      爪哇 日志 开始 停止

    2. 点击" Java"文件夹并双击Jvm" Name"柱

      将打开一个弹出框。

      复制您之前设置的环境变量值。在这种情况下:C:\ Program Files(x86)\ Java \ jdk1.8.0_121 并粘贴在"价值数据"最后附加\ jvm.dll的空格。

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

      关闭注册表并瞧。

      戴夫