背景:之前做单点登录,复制了几个tomcat,改了各自端口,当做不同服务器用。
今天无意间随便点击了一个tomcat下的startup.bat批处理文件,结果出来控制台,没出几行信息就闪退了。点击其他几个tomcat的startup.bat,也一样的结果,顿时感觉莫名其妙,之前都用得好好的啊,其中一个还集成在eclipse里面的啊。
英语菜鸡,百度一下,大部分都说是java与tomcat环境变量配置的问题:
比如这样:
还比如这样:
我去,JAVA环境变量没配好的原因自己挨板子去,你们竟然提出要修改别人的批处理文件,也太小看tomcat的制作者了吧,废话不说,上批处理源码:
第一个箭头,在startup.bat当前目录,然后找当前目录下的\bin\catalina.bat,找不到回上级目录,把当前目录设为CATALINA_HOME,经过这2部,如果CATALINA_HOME还是错误的,那你肯定是动了别人tomcat源文件的位置了吧,回去打手!
所以说要改别人批处理文件,手动给别人加tomcat环境变量的人,你到底有没有好好看源码???
还有的要直接在window中为tomcat设置一个CATALINA_HOME,大哥,像我这种几个tomcat的,那不是都得去到window环境变量的CATALINA_HOME中去,这还玩毛呢,所以需要多服务器的千万别设置CATALINA_HOME,看源码也没必要设置。
而我tomcat闪退的问题是:
server.xml下的<context docBase="" source="".../>错误。
因为之前是连接到eclipse上的,这个标签成了eclipse默认的写法(未截图,抱歉),然后我复制了几个出来,都没修改这个配置,然后自己双击启动的时候,source指向的文件就会找不到,于是发生错误,等待我的就只有灭亡(灭亡哥附体-_-)。
修改配置,docBase指向本tomcat下webapps下的一个项目,source可以不用配置,如下:
欢快的去点击startup.bat吧!!!
另外,看到一位同学出现这个错误,可以参考一下:
http://blog.csdn.net/ice_grey/article/details/50555507