Tomcat5 windows服务不能启动的终极解决方法
tomcat常见的错误与解决方案小结

tomcat常见的错误与解决⽅案⼩结⼀、tomcat启动时错误问题1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;解决:没有在tomcat的配置⽂件.bash_profile中设置环境变量JAVA_HOME,具体设置⽅法为:加⼊如下⼏⾏:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jarexport CLASSPATH问题2:Error occurred during initialization of VM Could not reserve enough space for object heap解决:在tomcat的bin⽬录下,catalina.sh⽂件的tomcat内存参数配置过⼤,超过机器可⽤内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"问题3:tomcat启动时报某个⽬录没有权限,启动失败,或者不能执⾏某些jsp页解决:tomcat需要tomcat⽤户具有⼀些⽬录和⽂件的相应权限, 所有⽬录应该具有读写执⾏(浏览)的权限,jsp,class⽂件应该最少具有读权限, ⼀些⽂件需要写权限,下⾯是已知的需要读写权限⽂件的列表:$CATALINA_HOME/logs下所有⽂件$CATALINA_HOME/work下所有⽂件$CATALINA_HOME/publish/main/count.txt⽂件$CATALINA_HOME/publish/chatroom/resource下的所有.xml⽂件所有上传图⽚⽬录都需要写权限。
tomcat启动不了的原因

Tomcat启动不了的原因(实用收藏+更新)
如果在控制面板-“管理工具”-“服务”中启动Tomcat时,提示“本地计算机上的Apache Tomcat 服务启动后又停止了。一些服务自动停止,如果他们没什么可做的,例如“性能日志和警报”服务”,使得Tomcat启动不起来的可能的原因是:
1。由于在tomcat里JVM没有配好,他默认的是批向c:\program file\Java下的那一个,如果你确认这没有删掉,JVM指向你自己安装的jdk\jre试试。
我以前在学校里也常常碰到这些问题,当时一般是重新安装tomcat.
后来慢慢得开始找问题了,发现其实还真就是上面所说的几点启动不了,后来我发现是第2点出的错.
幸亏我以前对server.xml备份过,只要换回原来的server.xml就行了.
至于原因,我还要进行分析.因为当时是做虚拟主机才对这个配置文件进行过修改的.
检查错误的方法我也看过一些,就写下来吧.
一是查看log文件,这个是每个维护人员必须养成的习惯,
二是查看端口占用,我是用fport看的,一个单文件程序,很方便实用.
三是运行命令行:"tomcat6.exe run",不过要cmd中在"D:\projects\software\Tomcat 6.0\bin"下运行,查看错误.
环境变量的话一般重新查看过就行了.
还有就是版本匹配问题,这个可以随便搜下,很多的配置方案都会写出java版本与tomcat版本.对应就行了.
2。改写server.xml文件出错,如果改写出错也会导致服务启动不起来。 3。设置的网络端口被占用,如IIS; 4。Tomcat和JDK版本对应问题,tomcat 5.0以上的版本,jdk也必须是1.5以上。 5。环境变量配置错误。
手动启动tomcat,配置了环境变量依旧无法启动解决办法

手动启动tomcat,配置了环境变量依旧无法启动解决办法在明明已经安装了JDK并设置好了JAVA_HOME,可偏偏Tomcat 在启动过程中找不到。
报错信息如下:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program;提示找不到java_home各jre_home路径,何解?原因不知道了,下面来看解决办法:1、分析startup.bat启动脚本:发现其调用了catalina.bat,而catalina.bat调用了setclasspath.bat2、在setclasspath.bat的头部定义了JAVA_HOME和JRE_HOME的值,那么在这里手动设置JAVA_HOME变量rem ---------------------------------------------------------------------------rem Set CLASSPATH and Java optionsremrem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $rem ---------------------------------------------------------------------------rem 在你自己的setclasspath.bat添加下面两句话rem----------------------------------------------------------------set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_05(最后改成你自己的jdk名字)set JRE_HOME=C:\Program Files\Java\jre1.5.0_05(jre名字)rem-----------------------------------------------------------------rem Make sure prerequisite environment variables are setif not "%JAVA_HOME%" == "" goto gotJdkHomeif not "%JRE_HOME%" == "" goto gotJreHomeecho Neither the JAVA_HOME nor the JRE_HOME environment variable is definedecho At least one of these environment variable is needed to run this program。
重启tomcat服务的方法

重启tomcat服务的方法在重启Tomcat 服务之前,你需要先停止当前正在运行的Tomcat 服务,然后再重新启动服务。
以下是在不同操作系统上重启Tomcat 服务的方法:在Windows 操作系统上:1. 打开命令行终端:按下“Win + R”组合键,打开“运行”对话框,输入“cmd”并按下“Enter”键,打开命令行终端。
2. 停止Tomcat 服务:在命令行终端中输入以下命令,停止当前正在运行的Tomcat 服务:C:\path\to\tomcat\bin\shutdown.bat其中,“C:\path\to\tomcat\”是你的Tomcat 安装目录。
3 等待服务停止:等待几秒钟,直到命令行终端输出“INFO: Server shutdown completed.”的消息,表示Tomcat 服务已经停止。
4. 启动Tomcat 服务:在命令行终端中输入以下命令,启动Tomcat 服务:C:\path\to\tomcat\bin\startup.bat等待几秒钟,直到命令行终端输出“INFO: Server startup in XXX ms”的消息,表示Tomcat 服务已经启动。
在Linux 或macOS 操作系统上:1. 打开终端:打开终端程序,可以在启动菜单或者应用程序中找到。
2. 停止Tomcat 服务:在终端中输入以下命令,停止当前正在运行的Tomcat 服务:/path/to/tomcat/bin/shutdown.sh其中,“/path/to/tomcat/”是你的Tomcat 安装目录。
3. 等待服务停止:等待几秒钟,直到终端输出“INFO: Server shutdown completed.”的消息,表示Tomcat 服务已经停止。
4. 启动Tomcat 服务:在终端中输入以下命令,启动Tomcat 服务:/path/to/tomcat/bin/startup.sh等待几秒钟,直到终端输出“INFO: Server startup in XXX ms”的消息,表示Tomcat 服务已经启动。
电脑开机时出现无法启动系统服务怎么办

电脑开机时出现无法启动系统服务怎么办在使用电脑的过程中,我们可能会遇到电脑开机时无法启动系统服务的情况,这无疑会给我们的工作和生活带来诸多不便。
当面对这种问题时,大家先别慌,下面我将为您详细介绍一些可能的解决方法。
首先,我们要了解一下什么是系统服务。
系统服务是指在操作系统后台运行的程序,它们负责执行各种重要的任务,如网络连接、打印服务、系统更新等。
如果这些服务无法正常启动,电脑的某些功能可能就会受到影响。
当电脑开机时出现无法启动系统服务的提示,一个常见的原因是系统文件损坏。
这可能是由于病毒攻击、突然断电、不正确的关机操作等导致的。
要解决这个问题,我们可以尝试使用系统自带的文件检查工具。
在 Windows 系统中,按下“Win +R”键,输入“cmd”打开命令提示符。
然后在命令提示符中输入“sfc /scannow”命令,系统会自动检查并修复损坏的系统文件。
另外,驱动程序问题也可能导致系统服务无法启动。
有时候,电脑硬件的驱动程序过旧、不兼容或者损坏,都会影响相关系统服务的运行。
我们可以通过设备管理器来更新驱动程序。
在 Windows 系统中,右键点击“此电脑”,选择“管理”,在弹出的窗口中找到“设备管理器”。
在设备管理器中,找到出现问题的设备,右键点击选择“更新驱动程序”。
服务配置错误也是导致无法启动系统服务的一个常见因素。
我们可以通过服务管理器来检查和修改服务的配置。
在 Windows 系统中,按下“Win +R”键,输入“servicesmsc”打开服务窗口。
在这里,我们可以找到出现问题的服务,右键点击选择“属性”,查看服务的启动类型、依赖关系等配置是否正确,并进行相应的修改。
还有一种可能是系统注册表出现问题。
注册表是 Windows 操作系统的核心数据库,如果其中的相关数据损坏或错误,也可能导致系统服务无法启动。
不过,修改注册表需要非常谨慎,因为错误的操作可能会导致系统无法正常运行。
如果您对注册表不熟悉,建议在专业人士的指导下进行操作,或者使用一些可靠的注册表修复工具。
Tomcat无法启动,提示Address already in use

Tomcat无法启动,提示Address already in use:JVM_Bind:8080问题现象:某法院服务器上安装有两个tomcat访问的端口号一个是8000,一个是80,只有一个tomcat 能正常启动。
问题处理:首先查看8080端口是否被占用,netstat -a -n -o ,最后一个选项表示连接所在进程id. 找到8080端口的PID。
然后打开任务管理器, 切换到进程选项卡, 在菜单栏选择查看->选择列, 选择PID.在列表中找到PID对应的进程就可以了。
例子:很久不动java EE了,很多东西似乎都搞完了,今天在搭建环境,跑以前的一个项目时,出现了Address already in use 的错误,这显然是tomcat的端口号被占用了,我的机子上安装了appache和appache Tomcat:我以前以为这两个同时安装了就会出现错误,今天也没管那么多,因为实验室的机子上没有to mcat,我又想将以前的工程跑起来,所以我就直接装上了appache tomcat:当出现这个错误的时候,我第一反应是将apache2.2的服务给禁止掉,然后在计算机资源管理器里面开启Apache Tomcat服务,但是其实这样做是错误的,因为Appache Tomcat和M yeclipse8.0结合一起用的时候,应该让Myeclipse来启动Appache Tomcat,所有应该让计算机管理服务列表中的Appache Tomcat处于未运行的状态。
这样做了过后问题依然存在,这肯定是8080端口被其他程序占用了,要么把占用8080端口的程序终止掉,要么修改tomcat 的配置文件里默认端口号。
1.如何关闭占用8080端口的程序呢?首先我们必须要找出占用8080端口的程序,然后再结束占用这个端口的进程,在windows下,我们用命令netstat -ano来显示协议统计信息和TCP/IP网络连接,如下图所示:执行完netstat -ano命令后,我们找到占用端口号8080的进程PID为3620,我们需要找到与进程号对应的进程名。
无法启动服务解决方案

无法启动服务解决方案在运行服务时,遇到无法启动的问题是很常见的。
这可能是由于各种原因引起的,如配置错误、依赖问题或系统故障等。
以下是一些可能的解决方案,可以帮助您解决无法启动服务的问题。
1. 检查日志文件:查看服务的日志文件,通常位于服务安装目录的logs文件夹中。
日志文件将包含有关启动失败的详细错误信息,可以帮助您定位问题所在。
2.确认配置文件:检查服务的配置文件,确保所有配置项都正确设置。
有时候,服务的配置文件中的一些参数可能会被错误设置导致启动失败。
3.确保依赖已安装:检查服务所依赖的其他软件或库是否已正确安装。
如果服务依赖的软件或库缺失或版本不匹配,可能会导致启动失败。
4. 检查端口占用情况:确定服务要使用的端口是否被其他程序占用。
如果端口已被占用,服务将无法启动。
可以使用命令行工具,如netstat或lsof,来检查端口的占用情况,并终止占用该端口的进程。
5.重启系统:有时候,系统故障可能导致服务无法启动。
尝试重启系统,清除临时文件和进程,然后再次尝试启动服务。
6.检查服务权限:确保服务的运行账户具有足够的权限。
服务通常需要访问文件、网络或其他系统资源来正常运行。
检查服务的运行账户是否具有适当的权限来访问这些资源。
7.检查防火墙设置:有时候,防火墙设置可能会阻止服务的启动。
确认防火墙设置中是否允许服务所需的端口通信,或者尝试将防火墙暂时禁用,并重新启动服务。
8.更新服务版本:如果您使用的是过时的服务版本,可能会出现一些已知的问题。
尝试更新服务到最新版本,并查看是否有相关修复补丁可用。
总之,无法启动服务的问题可能有很多原因。
以上是一些常见的解决方案,可以帮助您定位和解决问题。
根据具体情况选择适合的解决方案,并记得在尝试解决问题之前备份相关数据,以免造成数据丢失。
Tomcat服务无法启动的问题的解决方法

Tomcat服务⽆法启动的问题的解决⽅法去年下半年公司就决定投⼊⼈⼒物⼒"跟风"做⼤数据⽅向的研究并应⽤到后续项⽬中,于是乎,我们也得熟悉下Java才⾏了。
先弄个JavaEE的开发环境再说吧。
装JDK、JRE,其实JDK下⾯已经有JRE了,如果在服务器上的话,只需装JRE;然后配置环境变量:新建:JAVA_HOME:D:\Java\jdk1.7.0_51新建:CLASS_PATH:.;%JAVA_HOME%\lib编辑:PATH:在最前⾯加上 %JAVA_HOME%\bin; 接着装Tomcat,startup.bat、shutdown.bat都正常,然后想把压缩版的Tomcat的启动和关闭做成Windows服务来处理,执⾏service.bat install提⽰服务创建成功,但是启动服务却失败了,系统⽇志提⽰:我之前台式机上的Windows 2003系统没啥问题,怎么到了现在这Win7系统的⼩本上就这样了呢?先分析下,既然可以正常调⽤service.bat,也就是环境变量的配置是没有问题的,对⽐下2个操作系统,似乎⽬前最有可能的就是安装时候的权限问题。
先卸载掉已经安装过的服务service.bat remove,然后"以管理员⾝份运⾏" cmd.exe,切换到service.bat所在的⽬录执⾏service.bat install重新安装Tomcat服务。
HoHo,这下可以正常启动和关闭了。
因为是开发环境,所以我们可以配置⼀个超级⽤户admin ,使其能够通过"http://localhost:8080/"来管理Tomcat。
进⼊Tomcat根⽬录下的conf⽂件夹,打开"tomcat-users.xml"进⾏编辑:复制代码代码如下:<tomcat-users><user username="admin" password="admin" roles="manager-gui,admin-gui"/></tomcat-users>重启Tomcat后,就可以使⽤admin来管理Tomcat了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本人多次碰到这个问题,在网上搜索很久,一直没有找到真正的解决方法。
今天下午一次偶然的机会发现了问题所在,根据问题,提出以下解决方案。
问题所在:现在很多人都在使用jdk的压缩版,使得tomcat服务不能正确设置java VM,导致tomcat服务不能正常配置和启动。
如果你是安装版jdk也出现启动问题,请参照以下方法解决。
假设jdk 安装目录为 d:\j2sdktomcat5 安装目录为 D:\Program Files\Apache Software Foundation\Tomcat 5.01. 配置环境变量:JAVA_HOME = d:\j2sdkCLASSPATH= %JAVA_HOME%\bin;.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME %\lib\tools.jarCATALINA_HOME = D:\Program Files\Apache Software Foundation\Tomcat 5.02. 配置 Tomcat 服务这里有两种情况,一是tomcat5为安装版,二是解压版,针对这两种情况分别解决。
(1)安装版 tomcat5在安装时选择安装tomcat服务,如图安装完成后,打开注册表regedit.exe, 找到HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters,你可以看到里面有很多参数值,主要是修改Java 项的值为 d:\j2sdk\jre\bin\server\jvm.dll, 修改正确后,你就可以通过开始->程序->Apache Tomcat 5.0->start tomcat启动服务了。
若没有若没有此项,可以依照以下方法设置参数。
(2)解压版 tomcat5这时你要先配置服务所用的参数,启动命令是 tomcat5的bin目录下的tomcatw.exe(后面附上tomcatw.exe命令参数)。
如果不存在HKEY_LOCAL_MACHINE\SOFTWARE\Apache SoftwareFoundation\Tomcat Service Manager\Tomcat5\Parameters,请先创建,这一步是关键。
使用命令tomcatw.exe //ES//Tomcat5打开配置窗口,如下设置参数如下:Service栏Description = Apache Tomcat 5.0 (这个可以随便写)Image Path = d:\Program Files\Apache Software Foundation\Tomcat 5.0\bin\bootstrap.jarWork Path = d:\Program Files\Apache Software Foundation\Tomcat 5.0Auto Start 这个参数允许设置服务为自动启动Java VM栏:Auto 不要打勾Java VM = D:\j2sdk\jre\bin\server\jvm.dllJava Options = -Dcatalina.home="d:\Program Files\Apache Software Foundation\Tomcat 5.0"-Djava.endorsed.dirs="d:\Program Files\Apache SoftwareFoundation\Tomcat 5.0\common\endorsed" -XrsStart Class = org/apache/catalina/startup/Bootstrap;main;start Stop Class = org/apache/catalina/startup/Bootstrap;main;stop Standard Streams:只要设置两项Output = d:\Program Files\Apache Software Foundation\Tomcat 5.0\logs\stdout.logError = d:\Program Files\Apache Software Foundation\Tomcat5.0\logs\stderr.log根据以上设置,接下来可以使用 tomcatw.exe //GT//Tomcat5 启动服务了。
若有问题可以给我留言或者加我QQ: 4034348TOMCAT5在WINDOWS 下的一些命令行Tomcatw monitor applicationTomcatw is a GUI application for monitoring and configuring Tomcat services.The available command line options are://ES// Edit service configuration This is the default operation. It is called if the no option is provided but the executable isrenamed to servicenameW.exe//MS// Monitor service Put the icon in the system tryCommand line argumentsEach command line directive is in the form of //XX//ServiceName The available command line options are://TS// Run the service as console application This is the default operation. It is called if the no option is provided. The ServiceName is the name of the executable without exe sufix, meaning Tomcat5//RS// Run the service Called only from ServiceManager//SS// Stop the service//US// Update service parameters//IS// Install service//DS// Delete service Stops the service if runningCommand line parametersEach command parameter is prefixed with --. If the command line is prefixed with ++ then it's value will be appended to the existing option. If the environment variable with the same name as command line parameter but prefixed with PR_ exists it will take precedence. For example:set PR_CLASSPATH=xx.jaris equivalent to providing--Classpath=xx.jaras command line parameter.ParameterName Default Description--Description Service name description (maximum 1024 characters)--DisplayName ServiceName Service display name--Install procrun.exe//RS//ServiceNameInstall image--Startup manual Service startup mode can be either auto or manual--DependsOn List of services that this service depend on. Dependent services are separated using either # or ; characters--Environment List of environment variables that will be provided to the service in the form key=value. They are separated using either # or ; characters--User User account used for running executable. It is used only for StartMode java or exe and enables running applications as service under account without LogonAsService privilege.--Password Password for user account set by --User parameter--JavaHome JAVA_HOME Set a different JAVA_HOME then defined by JAVA_HOME environment variable--Jvm auto Use either auto or specify the fullpath to the jvm.dll. You can use the environment variable expansion here.--JvmOptions -Xrs List of options in the form of -D or -X that will be passed to the JVM. The options are separated using either # or ; characters.--Classpath Set the Java classpath--JvmMs Initial memory pool size in MB --JvmMx Maximum memory pool size in MB --JvmSs Thread stack size in KB--StartImage Executable that will be run.--StartPath Working path for the start image executable.--StartClass Class that will be used for startup.--StartParams List of parameters that will be passed to either StartImage or StartClass. Parameters are separated using either # or ; character.--StartMethod Main Method name if differs then main --StartMode executable Can one of jvm java or exe--StopImage Executable that will be run on Stop service signal.--StopPath Working path for the stop image executable.--StopClass Class that will be used on Stop service signal.--StopParams List of parameters that will be passed to either StopImage or StopClass. Parameters are separated using either # or ; character.--StopMethod Main Method name if differs then main --StopMode executable Can one of jvm java or exe--StopTimeout No Timeout Defines the timeout in seconds that procrun waits for service to exit gracefully.--LogPath working path Defines the path for logging--LogPrefix jakarta_service Defines the service log filename--LogLevel INFO Defines the logging level and can be either error, info, warn or debug--StdOutput Redirected stdout filename--StdError Redirected stderr filenameInstalling servicesThe safest way to manually install the service is to use the provided service.bat script.Install the service named 'Tomcat5'C:\> service.bat installIf using tomcat.exe, you need to use the //IS// parameter.Install the service named 'Tomcat5'C:\> tomcat5 //IS//Tomcat5 --DisplayName="Apache Tomcat 5" \C:\> --Install="C:\Program Files\Tomcat\bin\tomcat5.exe" --Jvm=auto \C:\> --StartMode=jvm --StopMode=jvm \C:\> --StartClass=org.apache.catalina.startup.Bootstrap--StartParams=start \C:\> --StopClass=org.apache.catalina.startup.Bootstrap--StopParams=stopUpdating servicesTo update the service parameters, you need to use the //US// parameter.Update the service named 'Tomcat5C:\> tomcat //US//Tomcat5 --Description="Apache Tomcat Server -/tomcat " \C:\> --Startup=auto--Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.j arRemoving servicesTo remove the service, you need to use the //DS// parameter.If the service is running it will be stopped and then deleted.Remove the service named 'Tomcat5'C:\> tomcat //DS//Tomcat5Debugging servicesTo run the service in console mode, you need to use the //TS//parameter. The service shutdown can be initiated by pressing CTRL+C or CTRL+BREAK. If you rename the tomcat5.exe to testservice.exe then you can just execute the testservice.exe and this command mode will be executed by default.Run the service named 'Tomcat5' in console modeC:\> tomcat //TS//Tomcat5 [additional arguments]Or simply execute:C:\> tomcat安装Tomcat服务的方法a)%CATALINA_HOME%\bin\tomcat.exe -install "Tomcat5""%JAVA_HOME%\jre\bin\server\jvm.dll"-Djava.class.path="%CATALINA_HOME%\bin\bootstrap.jar;%JAVA_HOME%\lib\ tools.jar" -Dcatalina.home="%CATALINA_HOME%" -Xrs -startorg.apache.catalina.startup.Bootstrap -params start -stoporg.apache.catalina.startup.Bootstrap -params stop -out"%CATALINA_HOME%\logs\stderr.log"b)%CATALINA_HOME%\bin\tomcat.exe -uninstall -Tomcat5。