最近刚开始学着写SSH,没想到刚开始来捣乱的是tomcat,由于SSH项目集成之后需要太多的jar包,并且它本身运行起来就比较占内存,所以会报例如 OutOfMemoryError错误和PermGen space的错误,表示你的tomcat内存太小了。 刚开始看着 各位大神写的帖子来进行修改tomcat的bin目录下的catalina.bat文件
在catalina.bat的
rem ----- Execute The Requested Command
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%
这一栏改为
rem ----- Execute The Requested Command
set JAVA_OPTS=-Xms512m -Xmx512m
echo Using CATALINA_BASE: %CATALINA_BASE%
echo Using CATALINA_HOME: %CATALINA_HOME%
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
echo Using JAVA_HOME: %JAVA_HOME%
此时回到localhost:8080/status/manager下看,果然有效。。。。
于是,就屁颠屁颠的重启了Myeclipse。。。。没想到啊没想到 还没过一会 又出现了这样一个错误,于是我又到localhost:8080/status/manager下看了一下,我靠 可用内存又回到20多M了。。。
这是什么情况。。。后来我又看了一下别的帖子,高手们又说了 tomcat 分安装版和解压版,偏偏我的就是解压版,所以只要我一点tomcat6w,这个专门用来配置tomcat信息,马上就蹦出来一个可恶的叉号,上面写着没有安装服务:指定的服务未安装
到服务下一瞧,还真是,根本没有叫tomcat的服务选项 ,上网赶快寻找解决方案,有人说,需要进行安装service在命令提示符的tomcat的bin目录下里运行service.bat install命令就好了。没想到刚开始还好,最后来了一句fail to install... 顿时我的眼泪如趵突泉一般连绵不绝啊,怒不可遏了。很没出息的拍桌子砸板凳之后有老老实实的蹲到电脑面前。。。
我就寻思是不是我的tomcat有问题,于是乎就又是一顿乱搜,网上有人说是以前的版本没有删除干净,好吧。。。我就把注册表中的文件全部给删的干干净净。怀着无比期望的心情期待一个tomcat6w窗口,万万没有想到等待我的还是那个没有安装服务。。
忍无可忍了,陷入疯狂的我就用安装版又重新安装了一次,由于有了以前的经验,安装过程还是比较顺利的,没有什么路径的问题,还好刚安装完成就可以使用tomcat6w.exe了,好开心。。。 于是赶紧修改java窗口下的intial memory pool:256M,Maximum memory pool:512M 这次心想肯定没什么了吧。。。不过我刚把tomcat6w关上之后再想打开,却又出现了一个叉号,
Unable to open the service ‘tomcat6’提示拒绝访问
好吧 该来的总要来的,继续借助网络资源,这次又有人站出来说是因为兼容性的问题,我想也差不多,于是在tomcat6w右键的属性中使用兼容模式运行程序,关上tomcat6w之后再次运行,呵呵。。付出就有回报啊。。。可爱的小猫又出现了。。。
接下来继续访问localhost:8080/status/manager,心理终于得到了一点点的欣慰,我就很满足的去吃饭了。。。 万万没想到,有时候上帝也会打盹的,吃饭回来运行Myeclipse,再看localhost:8080/status/manager 还是只有20多M,和最开始没有区别,难道说我这一下午的努力和睡觉没什么区别吗??? 我真的不甘心啊。。。于是打开tomcat6w start服务,再次访问localhost:8080/status/manager,这次却出现了200多M
难道说Myeclipse打开tomcat的方式很独特??连tomcat6w都管不了。。。。
虽说,不用每次使用Myeclipse来run tomcat 使用tomcat的窗口也能进行,但是一些珍贵的报错信息要在黑乎乎的界面里看,真能把人愁的吐血。
算了,还是寻求大神吧,又上网搜了一下,原来用Myeclipse配置tomcat的时候,perference下的tomcat6.x下的JDK的VM中要加上一句话
-Xms256m -Xmx512m
-Dcom.sun.management.jmxremote=true
回头再重新用Myeclipse运行,再次访问localhost:8080/status/manager,期盼已久的结果终于出现了。。。。。。
这一路真的是充满艰辛,半天下来,我已经没有任何精力在进行模块开发了,但是写这么长的文章,我想说的是,任何问题都是可以解决的,关键是我们要有一颗坚韧的心坚持下去,最终获得胜利的还是伟大的程序员。 更要感谢那些乐于分享经验的人们,正是由于他们的努力以及无私的共享,为无数个四处碰壁的人解决了难题。 -------借此文来与无数个和各种配置进行奋战的程序员共勉。。。。。