Hi,
I had to reinvent the wheel again today (or was it yesterday ?), just to make my preinstalled Tomcat server on windows to run as a service, I did not want to reinstall Tomcat, but rather wanted a short fix to make my pre-installed tomcat server run as a service in windows. I have done this several times in the past but had forgotten to remember the exact process... hence this post as It'd help me (of all the people) remember.
Here's how I did it:
SO: If you want to run tomcat as a windows service, there are two ways to do it. Once is while installing choose to install as service, or if you already have installed it through command line, then you can run the following command to install tomcat as a service.
%CATALINA_HOME%bintomcat -install “Apache Tomcat” “%JAVA_HOME%jrebinclassicjvm.dll” -Djava.class.path="%CATALINA_HOME%binbootstrap.jar;%JAVA_HOME%libtools.jar” -Dcatalina.home="%CATALINA_HOME%” -Xrs -start org.apache.catalina.startup.Bootstrap -params start -stop org.apache.catalina.startup.Bootstrap -params stop -out “%CATALINA_HOME%logsstderr.log”
The above command will install tomcat as a service. If this fails then its possible that tomcat.exe is not there in %CATALINA_HOME%bin directory. You can just download tomcat again and extract tomcat.exe and put this into the directory. (I was not having this in my tomcat local directory because when installing for the first time I choose NOT to install it as a service).
After installing the service, you can either go to control panel/administrative tools/services and start and stop the service, or you can run it from command line
net start “Apache Tomcat” // to start the service
net stop “Apache Tomcat” // to stop the service.
If you ever want to uninstall tomcat as a service you can run this command
“%CATALINA_HOME%bintomcat.exe” -uninstall “Apache Tomcat”
Service not starting issues..
When I did this my service did not start properly, and I went to the event viewer log to see the problem. It was not able to find jvm.dll in the path so I had to search and correct the path for dll and things worked just fine. Note that when I made the path change, I had to first uninstall the service and then install it again
to make life easier: (the following code would do the trick. Simple save this is servcie.bat in your tomcat/bin directory and run it) : This code aint mine. It's from Mark Turk
@echo off
if "%OS%" == "Windows_NT" setlocal
rem
rem NT Service Install/Uninstall script
rem
rem Options
rem install Install the service using Tomcat5 as service name.
rem Service is installed using default settings.
rem remove - Remove the service from the System.
rem
rem name (optional) If the second argument is present it is considered
rem to be new service name
rem
rem $Id: service.bat,v 1.5 2004/04/08 16:49:37 mturk Exp $
rem ------------------------------------------------------
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%cd%
if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome
rem CD to the upper dir
cd ..
set CATALINA_HOME=%cd%
:gotHome
if exist "%CATALINA_HOME%\bin\tomcat5.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
:okHome
if not "%CATALINA_BASE%" == "" goto gotBase
set CATALINA_BASE=%CATALINA_HOME%
:gotBase
set EXECUTABLE=%CATALINA_HOME%\bin\tomcat5.exe
rem Set default Service name
set SERVICE_NAME=Tomcat5
if "%1" == "" goto displayUsage
if "%2" == "" goto setServiceName
set SERVICE_NAME=%2
:setServiceName
if %1 == install goto doInstall
if %1 == remove goto doRemove
echo Unknown parameter "%1"
:displayUsage
echo
echo Usage: service.bat install/remove [service_name]
goto end
:doRemove
rem Remove the service
"%EXECUTABLE%" //DS//%SERVICE_NAME%
echo The service '%SERVICE_NAME%' has been removed
goto end
:doInstall
rem Install the service
rem Use the environment variables as an exaple
rem Each command line option is prefixed with PR_
set PR_DISPLAYNAME=Apache Tomcat
set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat
set PR_INSTALL=%EXECUTABLE%
set PR_LOGPATH=%CATALINA_HOME%\logs
set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
"%EXECUTABLE%" //IS//%SERVICE_NAME% --Jvm auto --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
rem Clear the environment variables. They are not needed any more.
set PR_DISPLAYNAME=
set PR_DESCRIPTION=
set PR_INSTALL=
set PR_LOGPATH=
set PR_CLASSPATH=
rem Set extra parameters
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed" -StartMode jvm --StopMode jvm
rem More extra parameters
set PR_STDOUTPUT=%CATALINA_HOME%\logs\stdout.log
set PR_STDERROR=%CATALINA_HOME%\logs\stderr.log
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp"
echo The service '%SERVICE_NAME%' has been installed
:end
cd %CURRENT_DIR%
that was a nice post. next time I have issues with tomcat (if I do) I know where to find that info. Saves you some time on answering questions on silly issues doesnt it ? All the best on your blog. keep it going.. Bosco
Posted by Bosco Noronha on May 31, 2005 at 07:59 AM EDT #
buy cheap nokia n95 experience without nokia mobile learning is better than learning without excperi-ence. I have nokia 6300 but one lamp wait which my feet are guided; and that bose headphones is the lamp of experience. I know of no way of judging of the future but by the apple touch past. http://www.leadsoftstore.com/
Posted by GHD Straighteners on September 22, 2009 at 10:35 AM EDT #
The timberland mens boots world can be changed by man endeavor, and that this endeavor can lead to something timberland men's 6 inch new and better .No man can sever the bonds that unite him to his society simply by averting his eyes . He must ever be receptive and sensitive to the new timberland men's classic; and have sufficient courage and skill to novel timberland shoes facts and to deal with them cheap timberland boots. http://www.runtimberland.com/
Posted by Timberland boots on October 09, 2009 at 07:20 AM EDT #
You can't step twice into the same cheap ugg boots river, for other ugg classic cardy waters are continually flowing in. In the ugg bailey button long run men hit only what they aim at ugg australia. High expectations are the key to every ugg classic mini thing. If you wait, all that happens is that you get older. http://www.ladiesugg.com/
Posted by Cheap Ugg Boots on October 09, 2009 at 08:20 AM EDT #