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

来源:互联网 发布:flash cs5 mac中文版 编辑:程序博客网 时间:2024/05/21 11:24

问题描述:

启动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

即可!

0 0
原创粉丝点击