把Tomcat注册为windows服务

配置环境变量

JAVA_HOME=D:java

CLASSPATH=.;%JAVA_HOME%lib;

PATH=%JAVA_HOME%in;

提示:一般jre默认在jdk目录下%JAVA_HOME%jre。如果JRE不在jdk目录下,需要配置一个JRE_HOME指向具体的jre路径。

注册windows服务

注意:由于xp之后的windows改变了权限策略,注册windows服务需要管理员权限,必须以管理员权限打开cmd窗口,才能注册成功。

例如在win7系统下,进入目录C:/windows/system32/

  1. 在cmd窗口执行命令:service.bat install
  1. 打开服务管理工具,可以看到已经注册的服务;

服务启停

命令行方式

以管理员权限打开cmd窗口

服务名称为:tomcat7

启动服务:net start tomcat7

停止服务:net stop tomcat7

在服务管理工具中启动服务

设置为开机启动

右击服务,选择属性,把服务启动类型改为自动;

通过tomcat服务配置工具启动

进入tomcatin目录,以管理员权限运行tomcat7w.exe

FAQ:

服务注册失败原因

1)如果是win7,有可能是没有以管理员身份运行cmd窗口

2)也有可能是jdk版本和tomcat不配套,尝试更换jdk后再注册;

2.系统错误109 管道已结束

命令行方式停止报错截图

在服务管理工具中停止服务,报错截图

在网上找了好久,资料很少,调整了停止服务的超时时间,也还是不行。后来在这篇文章(http://blog.sina.com.cn/s/blog_824f62b3010112s3.html)的启发下,给method配置了一个return方法,竟然不报错了。修改方法如下:

Timeout时间最好设置长一点,20秒以上,不然停止服务还是可能报错。如果设置成0,我猜测应该是没有超时时间,也就是最大超时时间,但是实际使用服务管理工具停止服务时,进度条会一直卡着不动,命令行方式也会等很久,然后报"服务没有响应控制功能",不知道为什么。

附录:

service.bat配置参数说明

set SERVICE_NAME=Tomcat7

set PR_DISPLAYNAME=Apache Tomcat 7

set PR_DESCRIPTION=Apache Tomcat 7.0.5 Server - http://tomcat.apache.org/

原文地址:https://www.cnblogs.com/nami/p/3874742.html