https://blog.csdn.net/kai_wei_zhang/article/details/7909907
情况: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变量来指定,也可以直接在电脑的高级属性里面添加
二、Tomcat6解压版的配置
下载完成后,解压到D:\Tomcat7(设置你的路径),检查环境变量JAVA_HOME是否存在:一般JDK安装时会自动设置,如果没有就创建,JAVA_HOME的值设为JDK的安装根路径
1、设置环境变量
2、设置服务
服务设置方法,也即是解决上面出现的情况,编辑service.bat文件
-
rem Guess CATALINA_HOME
if not defined
-
set CURRENT_DIR=%cd%
-
-
添加下面一句指定tomcat的安装目录。
-
set CATALINA_HOME=D:\apache-tomcat-
7.0.29
-
if not
"%CATALINA_HOME%" ==
"" goto gotHome
-
set CATALINA_HOME=%cd%
-
-
为了在“进程”中跟其他安装的tomcat区分名字,修改tomcat7.exe 的文件名。这里我仍然使用tomcat7.exe。
-
-
if exist
"%CATALINA_HOME%\bin\tomcat7.exe" goto okHome
-
rem CD to the upper dir
-
cd ..
-
set CATALINA_HOME=%cd%
-
:gotHome
-
if exist
"%CATALINA_HOME%\bin\tomcat6018.exe" goto okHome
-
echo The tomcat.exe was not found...
-
echo The CATALINA_HOME environment variable is not defined correctly.
-
echo This environment variable is needed to run
this program
-
goto end
-
rem Make sure prerequisite environment variables are set
-
if not
"%JAVA_HOME%" ==
"" goto okHome
-
echo The JAVA_HOME environment variable is not defined
-
echo This environment variable is needed to run
this program
-
goto end
-
:okHome
-
if not
"%CATALINA_BASE%" ==
"" goto gotBase
-
set CATALINA_BASE=%CATALINA_HOME%
-
:gotBase
-
-
set EXECUTABLE=%CATALINA_HOME%\bin\tomcat6018.exe
-
-
rem Set
default Service name
-
-
创建服务后的服务名称,这个名称必须唯一(解压目录里的tomcat7.exe,tomcat7w.exe的名字与此处对应)
-
set SERVICE_NAME=Tomcat7
-
-
创建服务后的服务显示名称,这个名称可以与其他服务显示名称相同。
-
set PR_DISPLAYNAME=Apache Tomcat
7
-
-
............ (中间省略)
-
-
"%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
-
-
如果你需要把服务设置为开机自启动,可以加下面这句
-
sc config %SERVICE_NAME% start= auto
-
echo The service
'%SERVICE_NAME%' has been installed.
-
-
:end
-
cd %CURRENT_DIR%
进入tomcat 的bin目录,执行service.bat install 安装服务
然后再使用services.msc查看服务就多了Apache Tomcat 7
这样问题就解决了!