最近两天一直为我的Tomcat无法启动的问题苦恼,于是重新安装tomcat很奇怪的是:5.0.28这一次根本就无法安装,提示没有找到java虚拟机,于是down了一个5.5的正常的安装了,但是还是和以前5.0.28一样无法启动,系统托盘的那个羽毛标志一直显示停止状态,一直点start service指示条到一半就自动消失,服务就是不启动,但是我在eclipse(严格的说是eclipse3.2.1+tomcatPluginV31汉化版+myeclipse5.0M1)下能够启动,只是在系统托盘处没有羽毛的标志,在浏览器下敲入http://127.0.0.1:8080可以显示服务首页的介面,关于这个问题郁闷了昨天一个下午。 今天早上来上班,我继续调试Tomcat,突然间发现:前两天看‘服务’的时候看到过apache tomcat服务,于是我想到是不是那里出现了问题,进入控制面板->管理工具->服务->apache tomcat 试图启动,显示错误提示’5’,我不知道是什么原因,这问题估计只有开发商知道这个错误代号的含义,但是能肯定的是:问题就出在这里,看了登陆属性,默认是第一项,使用系统默认的登陆,于是我改用第二项使用我自己的用户名(Lindily)和密码(******)保存设置,OK,尝试启动,结果Tomcat果然起来了,高兴之余回想到’5’错误原来就是用户名的问题,但是在系统托盘的Tomcat的Configure也可以更改,我以前改过都无法启动的,看来那里……我都无语了,明显在玩我。那也不能这样吧,这都是敏感信息,填写了都没用。
根据这次经验,我总结了一下Tomcat无法启动的解决方法,仅供参考:
1. 如果连安装都安装不过去,那就要检查你的java虚拟机了一般在%JAVA_HOME%/lib目录下的 jvm.dll安装Tomcat之前确保你已经安装了JDK,并配置好java的环境变量。
2. 有一种可能就是你没有配置好java以及Tomcat的环境变量,关于环境变量的配置网上有很多的介绍,我就不想再浪费时间了。
3. 有时候可能8080端口已经被程序占用或被服务监听,那么尝试改一下端口,把server.xml文件里的所有’8080’字符串改为其他端口,比如’8088’。
4. 还有可能就是我这次遇到的问题了,不要用系统托盘图标的那个设置了,我怎么感觉这东西在玩人。到服务下面的apache tomcat服务下面去更改吧,用户名和密码填写为你安装Tomcat时要求的那个用户名和密码。
5. 还有就是网上有篇文章所说的缓存问题,就是tomcat/bin目录下的catalina.bat语句大概是JAVA_OPTS=-Xms1024m -Xmx1024m 。
-Xms1024m:用来表示最少内存占用为1024m。
-Xmx1024m:用来表示最大内存占用为1024m。
关于这个问题我没有遇到过,而且安装了5.5以后我根本就没有找到这个文件,如果有人出现了这样的问题可以参考一下。
6. 还有一个补充的问题就是:Tomcat启动以后却无法执行JSP程序,状况是这样的:当前状态:Tomcat能够启动。输入http://localhost:8080能够看到Tomcat主页。在WEBAPP目录下创建了一个TEST目录,目录中有一个文件helloworld.jsp。在地址栏中输入http://localhost:8080/test/helloworld.jsp。 结果是http404 error:source can't be found.问题:还需要设置那些参数,或者作些什么部署?(这里绿色的字引用问题提出者的原文)网上有人贴出了解决办法,我没有验证,因为我也是初学,没有多少经验,呵呵。具体解决办法:要想你的jsp能在tomcat下运行,那么你的tomcat文件下的common里的lib目录下必须要有tools.jar这个包!你最好看看有没有!要是没有的话,可以从你的jdk中的lib下找到tools.jar,然后拷贝到你的tomcat下的common下的lib文件夹里面!然后重新启动tomcat,再运行你的jsp就可以了(这里蓝色的字引用的是作者的原文)。
7. 其他情况:如果是xml高手,那就自己改xml文件吧,估计这是万能的办法,但是我不会那东西。所以只能用自动工具来修改了^_^
需要转载请注明作者Lindily及地址http://hi.baidu.com/lindily。