情况:Tomcat解压后,启动bin目录的startup.bat正常,但是启动tomcat7.exe却启动不了,为什么?
一、tomcat7.exe与startup.bat的区别:
1、这两个都可以启动tomcat,但tomcat7.exe必须安装了服务才能启动,而startup.bat不需要
2、另外一个区别是它们启动所使用的JAVA环境配置是分开的
tomcat7.exe启动所使用JAVA配置与服务启动所使用的JAVA配置一样,都是通过tomcat7w.exe的JAVA面板配置(可以在创建服务前修改service.bat文件的JAVA_HOME变量来指定初始的JVM,该JAVA面板的所有配置项都是从service.bat文件初始化的。)
startup.bat启动所使用的JAVA配置可以通过修改catalina.bat与setclasspath.bat文件里的JAVA_HOME与JRE_HOME变量来指定,也可以直接在电脑的高级属性里面添加
先使用这个方法,不行再继续下列步骤:
启动Tomcat服务
方法两种:
1,方法一:在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。
2,方法二:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。
二、Tomcat6解压版的配置
下载完成后,解压到D:\Tomcat7(设置你的路径),检查环境变量JAVA_HOME是否存在:一般JDK安装时会自动设置,如果没有就创建,JAVA_HOME的值设为JDK的安装根路径
1、设置环境变量
2、设置服务
服务设置方法,也即是解决上面出现的情况,编辑service.bat文件
[java] viewplaincopy
1. rem Guess CATALINA_HOME if not defined
2. set CURRENT_DIR=%cd%
3.
4. 添加下面一句指定tomcat的安装目录。
5. set CATALINA_HOME=D:\apache-tomcat-7.0.29
6. if not "%CATALINA_HOME%" == "" goto gotHome
7. set CATALINA_HOME=%cd%
8.
9. 为了在“进程”中跟其他安装的tomcat区分名字,修改tomcat7.exe 的文件名。这里我仍然使用tomcat7.exe。
10.
11. if exist "%CATALINA_HOME%\bin\tomcat7.exe" goto okHome
12.rem CD to the upper dir
13. cd ..
14.set CATALINA_HOME=%cd%
15. :gotHome
16.if exist "%CATALINA_HOME%\bin\tomcat6018.exe" goto okHome
17. echo The tomcat.exe was not found...
18.echo The CATALINA_HOME environment variable is not defined correctly.
19. echo This environment variable is needed to run this program
20.goto end
21. rem Make sure prerequisite environment variables are set
22.if not "%JAVA_HOME%" == "" goto okHome
23. echo The JAVA_HOME environment variable is not defined
24.echo This environment variable is needed to run this program
25. goto end
26.:okHome
27. if not "%CATALINA_BASE%" == "" goto gotBase
28.set CATALINA_BASE=%CATALINA_HOME%
29. :gotBase
30.
31. set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6018.exe
32.
33. rem Set default Service name
34.
35. 创建服务后的服务名称,这个名称必须唯一(解压目录里的tomcat7.exe,tomcat7w.exe的名字与此处对应)
36.set SERVICE_NAME=Tomcat7
37.
38.创建服务后的服务显示名称,这个名称可以与其他服务显示名称相同。
39. set PR_DISPLAYNAME=Apache Tomcat 7
40.
41. ............ (中间省略)
42.
43. "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256
44.
45. 如果你需要把服务设置为开机自启动,可以加下面这句
46.sc config %SERVICE_NAME% start= auto
47. echo The service '%SERVICE_NAME%' has been installed.
48.
49. :end
50.cd %CURRENT_DIR%
运行命令行cmd,可以只用services.msc命令查看当前的服务会发现还没有Apache Tomcat 7,
进入tomcat 的bin目录,执行service.bat install 安装服务
然后再使用services.msc查看服务就多了Apache Tomcat 7
这样问题就解决了!