tomcat 1)启动时不识别执行启动命令 2)启动报错 3)关闭不了,用myEclipse启动时显示jvm_bind,端口占用

经过一番debug,最终找到原来是先前在tomcat的bin下的catalina.sh中添了一行set JAVA_OPTS='Xmx=64m,Xms=512m'(大概是这样的一行)的缘故

现在说说debug的过程:

  上图是ant在执行到启动tomcat时出现的错误,所以手动启动tomcat,发现还是出现这个问题--(把这个问题做一个类比:比如希望输入一条命令java -version,而输入时却写成Java     -ver,执行之后就会报错,并提示你参数是。。。)

  那么"set JAVA...“这个抗是怎么发现的呢?

    vi catalina.sh

    在if .. debug 前打印两行 echo "=======",然后在其间打印 echo $*等

    发现原来catalina把set JAVA...当成一条命令,set是命令,JAVA...是参数,

    然后if..debug 会解析上一条命令,通过$0 $1两个参数,然后if 判断,发现没有对应的run、start、stop 等参数,所以抛错误出来

另,tomcat启动的时候,startup.sh也会调用catalina.sh

另:这行语句应该添加在startup.bat中

 

感谢龙哥~

 

 

2)tomcat启动报错:

tomcat启动时报

The BASEDIR environment variable is not defined correctly This environment variable is needed to run this program

这个错是由于文件执行权限不足,解决办法就是给

$CATALINA_HOME/bin目录下所有.sh文件添加一个可执行权限即可

命令如下:chmod 755 *.sh

 

3) 关闭不了:

杀掉javaw.exe进程,参考:http://zhidao.baidu.com/link?url=HzyM_5PaPgZaaHXAyQJ4SnCDeNCQMavV445fQVaUAVLYQfjliixkLPF6L1Br6yfLV1sfZfknQaF0l73jMIYLua

posted on 2013-08-06 18:04  王健男  阅读(599)  评论(0编辑  收藏  举报