问题:Cannot find /usr/local/tomcat7/bin/setclasspath.sh

问题描述:

启动tomcat的时候报错如下:

1
2
3
4
5
6
[root@pacteralinux bin] # ./startup.sh
Cannot  find  /usr/local/tomcat7/bin/setclasspath .sh
This  file  is needed to run this program
[root@pacteralinux bin] # sh catalina.sh run
Cannot  find  /usr/local/tomcat7/bin/setclasspath .sh
This  file  is needed to run this program
  • 之前以为是环境变量配置错误,但是检查了下,没有问题呀!

  • 以为是权限的问题,直接chmod 777 *.sh ,,还是不行,报同样错误

  • 再看到网上的一个解决方案:

需要你包含完整的路径,应该各自在setclasspath.sh和catalina.sh指定BASEDIR 和 CATALINA_HOME环境变量。如果已经在以前的命令行中或者/etc/profile文件中定义了 CATALINA_HOME环境变量,也需要这么做。这个错误也还是可能出现的即使setclasspath.sh存在于Tomcat\bin目录中。
$ echo "BASEDIR=/path/to/tomcat" >> setclasspath.sh
$ echo "CATALINA_HOME=/path/to/tomcat" >> catalina.sh

试验了一下,还是不行!

我的解决方法:因为我在系统中启动了几个tomcat,在/etc/profile中环境变量的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#set java environment
export  JAVA_HOME= /usr/lib/jvm/java-7-sun
export  JRE_HOME=${JAVA_HOME} /jre
export  CLASSPATH=.:$CLASSPATH:${JAVA_HOME} /lib :${JRE_HOME} /lib
export  PATH=${JAVA_HOME} /bin :$PATH
#set tomcat environment
#1
CATALINA_BASE= /usr/local/Tomcat_Web
CATALINA_HOME= /usr/local/Tomcat_Web
export  CLASSPATH=.:${CATALINA_HOME} /bin/tomcat-juli .jar:${CATALINA_HOME} /bin/bootstrap .jar
export  CATALINA_BASE CATALINA_HOME
#2
CATALINA_BASE_11= /usr/local/jakarta-tomcat-5 .0.28
CATALINA_HOME_11= /usr/local/jakarta-tomcat-5 .0.28
export  CLASSPATH=.:${CATALINA_HOME_11} /bin/tomcat-juli .jar:${CATALINA_HOME_11} /bin/bootstrap .jar
export  CATALINA_BASE_11 CATALINA_HOME_11
#3
CATALINA_2_BASE= /usr/local/Tomcat_Calculate
CATALINA_2_HOME= /usr/local/Tomcat_Calculate
export  CATALINA_2_BASE CATALINA_2_HOME
CATALINA_3_BASE= /usr/local/Tomcat_Trans
CATALINA_3_HOME= /usr/local/Tomcat_Trans
export  CATALINA_3_BASE CATALINA_3_HOME
  set  JAVA_OPTS= -Xms32m -Xmx512m
export  JAVA_OPTS
#4
CATALINA_BASE_rao= /usr/local/tomcat7
CATALINA_HOME_rao= /usr/local/tomcat7
export  CLASSPATH=.:${CATALINA_HOME_rao} /bin/tomcat-juli .jar:${CATALINA_HOME_rao} /bin/bootstrap .jar
export  CATALINA_BASE_rao CATALINA_HOME_rao

出错的是第四个tomcat,我想了下,可能是catalina.sh启动脚本中变量的配置错误。

首先vi catalina.sh     查找setclasspath   果然看到的了如下语句

1
2
3
4
5
6
7
if  [ -r  "$CATALINA_HOME" /bin/setclasspath .sh ];  then
     "$CATALINA_HOME_rao" /bin/setclasspath .sh
   else
     echo  "Cannot find $CATALINA_HOME_rao/bin/setclasspath.sh"
     echo  "This file is needed to run this program"
     exit  1
   fi

好吧,找到错误了,改为

1
2
3
4
5
6
7
if  [ -r  "$CATALINA_HOME_rao" /bin/setclasspath.sh ]; then
     "$CATALINA_HOME_rao" /bin/setclasspath.sh
   else
     echo  "Cannot find $CATALINA_HOME_rao/bin/setclasspath.sh"
     echo  "This file is needed to run this program"
     exit  1
   fi

即可!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值