无法将Tomcat作为Windows服务启动

时间:2014-07-09 06:47:02

标签: java windows tomcat windows-services

我在Windows 8上使用Tomcat6。我可以通过startup.bat启动Tomcat而不会出错。我已经在tomcat / bin目录下复制了Tomcat6.exe,Tomcat6w.exe和service.bat,并将.exe文件设置为以管理员身份运行。

我打开具有管理员权限的命令行并执行" service.bat install"哪个运行没有错误。在Windows服务中,我可以看到我想自动运行的Apache Tomcat 6。

但是两个都是使用" Start"从Windows服务运行的。按钮和启动Windows时我得到了同样的错误。

" Windows无法在本地计算机上启动Apache Tomcat 6。有关更多信息,请查看系统事件日志。如果这是非Microsoft服务,请与服务供应商联系,并参阅特定于服务的错误代码0.

当我检查Windows事件日志时,我看到以下奇怪的错误。

" Apache Tomcat 6服务因以下特定于服务的错误而终止: 操作成功完成。"

我尝试在tomcat / bin目录下复制msvcr71.dll,但没有任何改变。我还能做什么?

更新

我使用的端口不同于8080.我在日志文件/logs/jakarta_service.log中看到了以下错误:

  

%1不是有效的Win32应用程序。

14 个答案:

答案 0 :(得分:31)

转到开始>配置Tomcat>

  • 启动> Mode = Java
  • 关机> Mode = Java

这对我有用!

答案 1 :(得分:9)

我遇到了问题,因为我更新了Java版本。

以下步骤对我有用:

  
      
  1. 运行\Tomcat\bin\tomcat7w.exe
  2.   
  3. 确认"启动"标签 - > "模式"选择" jvm"
  4.   
  5. "爪哇"标签 - >更新" Java虚拟机"新版本路径的路径
  6.   
  7. 重启Tomcat
  8.   

完成。

答案 2 :(得分:5)

“Windows无法在本地计算机上启动Apache Tomcat 6。有关详细信息,请查看系统事件日志。如果这是非Microsoft服务,请与服务供应商联系,并参阅服务特定的错误代码0”

当出现此类错误时。请开始 - >配置tomcat - >启动 - >模式 - > java的 同样 开始 - >配置tomcat - >关机 - >模式 - >的java

答案 3 :(得分:3)

您需要先检查端口。可能是某些其他应用程序使用默认端口(8080)的情况。

尝试将端口从8080更改为conf / server.xml文件中的某个不同端口。

另外请检查您的JRE_HOME变量是否设置正确,因为tomcat需要运行JRE。您还可以在系统中设置JRE_HOME变量。为此,请转到我的计算机 - >右键单击并选择属性 - >高级系统设置 - >高级 - >环境变量,然后单击新建 - >变量名=“JRE_HOME”和变量值=“C:\ Program Files \ Java \ jre7”

答案 4 :(得分:1)

  1. 检查apache tomcat catalina日志: ../日志/ catalina.log
  2. 如果在日志中找到"端口被使用"异常,然后使用以下命令检查Windows使用的端口和进程: 运行cmd netstat -ao 它将列出所有侦听端口和相应的进程ID,您可以从配置文件中找到Tomcat使用的端口: ../ CONF / server.xml中

    <Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
    
  3. 并终止使用tomcat端口的进程

答案 5 :(得分:1)

原因:

导致此问题:

1- tomcat can't find the jvm file from the directory specified to start the service because is deleted.

2- Incorrect permissions to the java folder for read&write access

3- Incorrect JAVA_HOME path.

4- Antivirus deleted the jvm file from java folder

解决:

  

1-确认java directoy中的especified file exisit。

     

2-确保该文件具有读取和写入权限。

     

3-确认JAVA_HOME对于java版本是否正确。

     

4-如果已删除文件,请重新安装相同的java版本以重新创建   丢失文件。

答案 6 :(得分:1)

对我最有效的答案是Prashant提到的答案,由Bluish编辑。

  

转到开始>配置Tomcat>启动>模式= Java关闭>模式   = Java

不幸的是,我不得不(可能还有其他方式)以不同的方式执行此操作,我进入了tomcat bin目录并运行了“ tomcat7w”应用程序,这就是我更改配置的方式。

我能够将启动模式和关闭模式更改为 Java 。像这样:

第1步)找到 tomcat7w

常规位置=> %TomCatHomeDIR%/ bin   在我的情况下,tomcat位于xampp文件夹中,所以我的地址是:

  

C:\ xampp \ tomcat \ bin

tomcat7w file location screenshot

Step2)启动 tomcat7w ,并在“启动”和“关闭”标签中更改模式

tomcat7w startup tab screenshot

注意> 这基于XAMPP的标准7.0.22版。

答案 7 :(得分:1)

Prashant建议的解决方案对我来说很好。

Tomcat9属性>配置>启动>模式= Java Tomcat9属性>配置>关闭>模式= Java

答案 8 :(得分:0)

我有类似的问题,但安装tomcat 32bit和jdk 32位工作,这主要是因为匹配不匹配。

答案 9 :(得分:0)

所有这些错误都与Apache和JDK连接错误有关。

  1. 转到开始&gt;系统&gt; Advanced_system_settings&gt;
  2. 系统属性将弹出“环境变量”
  3. 在用户变量中你必须设置变量:JAVA_HOME值:C:\ Program_Files \ Java \ jdk1.8.0_161
  4. 在系统变量中,您需要放入路径:jdk / bin path&amp; jre / bin路径 你还需要JAVA_HOME C:\ Program_Files \ Java \ jdk1.8.0_161
  5. 人们通常忘记在系统变量中设置JAVA_HOME。

    如果您仍然有错误,请尝试逐步思考

    1. 打开事件查看器&gt;检查管理事件和Windows日志&gt;系统 看到错误。如果这没有帮助
    2. 转到C:\ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ logs commons-daemon.XXXX-XX-XX.log 并阅读错误和警告...... 应该很好地说出问题是什么。

答案 10 :(得分:0)

在JAVA_HOME路径中不要包含 bin 是非常重要的。应该是

C:\ Program Files \ Java \ jdk-11.0.3

答案 11 :(得分:0)

在64位系统上,必须确保Tomcat应用程序和JDK都是相同的体系结构:两者都是x86或x64。

如果要将Tomcat实例更改为x64,则可能必须下载具有适当x64版本的tomcat8.exetomcat9.exetcnative-1.dll。您可以在http://svn.apache.org/viewvc/tomcat/上获得它们。

或者,您可以通过更改Tomcat配置中的Java虚拟机路径,将Tomcat指向x86 JDK。

答案 12 :(得分:-1)

在我的情况下,如果您不在x64版本上安装x86版本,它会有所帮助... DOH !!!

答案 13 :(得分:-1)

首先,请确保在Windows环境路径中具有Java目录的路径

  1. 开始> 控制面板>查找“ 系统
  2. 编辑系统环境变量
  3. 单击“ 环境变量... ”按钮。
  4. 在“系统变量”组框中,单击“ 新建... ”按钮之一
  5. 分配所需的名称,例如“ Java_Home”
  6. 单击“浏览目录”,然后找到您的Java jdk目录。例如:C:\Program Files\Java\jdk-13.0.2
  7. 转到Tomcat“ bin”文件夹并启动它。

现在可以正常工作。