环境介绍:
1 2 3 | 操作系统:windows 10 x64 jdk: 1.7 tomcat: 6.0.14 |
偶然一次机会遇到的问题,现在写出来作为记录供大家参考。
这里特别指明Tomcat版本为6.0.14,由于官方发布的6.0.14版本是没有X64位的,因此在64位操作系统上发生无法启动服务的异常。
1、服务的安装过程很简单。
切换到tomcat/bin目录下,执行:service install "这里填写服务名"。例如:
这里指出的是,由于权限问题,你可能需要在管理员的权限下执行以上命令。
2、启动服务
有两种方式:
第一种在cmd下执行net start "服务名", 例如:net start web
第二种打开windows的服务窗口,找到指定服务,启动即可。
3、遇到问题
在使用第二种启动服务的时候遇到了问题,截图如下:
!!!注册服务后无法正常启动服务(直接运行startup.bat可以成功启动tomcat),于是找到tomcat启动日志中报错信息为:
路劲:apache-tomcat-6.0.14\logs\jakarta_service_xxxx.log
1 2 3 | [2017-12-05 22:26:18] [174 javajni.c] [error] %1 不是有效的 Win32 应用程序。 [2017-12-05 22:26:18] [986 prunsrv.c] [error] Failed creating java C:\Program Files\Java\jdk1.7.0_71\jre\bin\server\jvm.dll [2017-12-05 22:26:18] [1260 prunsrv.c] [error] ServiceStart returned 1 |
问题出在哪里?
startup.bat 能正常启动,但服务却不行,后来得知服务是依赖tomcat6.exe和tomcat6w.exe,那么矛头只能是指向他们。
这里特别强调,官方发行的6.0.14版本是没有X64位的tomcat6.exe和tomcat6w.exe,如果想正常注册为服务并启动,必须找到64位的tomcat6.exe和tomcat6w.exe。
于是我们找到了:
http://svn.us.apache.org/viewvc/tomcat/archive/tc6.0.x/tags/TOMCAT_6_0_14/res/procrun/amd64/
这个是编译成64位的程序,直接替换掉bin目录下的本地文件。
然后再次启动即可,如果还是启动不了,删掉服务,重新注册一次。
附加信息:apache资源站