最近一个项目从Ubuntu移植到Redhat,需要安装tomcat。
安装完毕后,按惯例需要进行配置,修改/etc/profile以及/etc/envirmonment两个文件。由于配置内容的内容比较多,是直接把配置内容存到一个txt文件中,再在Redhat中用gedit通过复制黏贴修改两个文件。
没想到这个做法惹出了个***烦。
修改后,运行source 文件名,使得配置内容生效,结果运行catalina.sh时报错,提示找不到“/bin/setclasspath.sh This file is needed to run this program”。
当然,setclasspath.sh还是好好地在应有的位置。这就奇怪了,为什么找不到呢?
因为在Ubuntu上没有遇到这样的问题,我一开始还以为是文件权限等问题,但是都没有效果。直接修改catalina.sh,设置固定的文件名,似乎有些小题大做。
后来我还试过重装,也没有解决问题。
在网上找了找,有国外网友说是CATALINA_HOME环境变量出错,unset CATALINA_HOME就好了。果然,我如法炮制,setclasspath.sh的问题解决了,但是又冒出了另外一个错误,“logs/catalina.out”没有办法touch。
这又是一个奇怪的问题,不过这次系统提示中给了我一个启发,在路径中有“\r”这个字符。
我一下子明白了,原来是软回车这个字符在作祟,由于不可见,所以加在CATALINA_HOME和CATALINA_BASE后面也看不出来,但是路径就完全不一样,结果酿成错误。
果然,仔细修改/etc/profile后,tomcat顺利启动。
时间: 2024-10-16 00:26:54