【发布时间】:2013-11-30 13:32:57
【问题描述】:
我是 Tomcat 的新手。他们对我的 ubuntu 10.10 上的 Tomcat 7 有问题。
当我像这样启动 Tomcat 时
llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ ./catalina.sh run
Using CATALINA_BASE: /usr/local/apache-tomcat-7.0.47
Using CATALINA_HOME: /usr/local/apache-tomcat-7.0.47
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.47/temp
Using JRE_HOME: /usr/local/jdk1.7.0_45
Using CLASSPATH: /usr/local/apache-tomcat-7.0.47/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.47/bin/tomcat-juli.jar
虽然不能以这种方式启动 Tomcat,但它会回显Using JRE_Home /usr/local/jdk1.7.0_45,这在我的计算机上是正确的JAVA_HOME 或JRE_HOME。
但是当我像这样使用sudo 启动Tomcat时
llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ sudo ./catalina.sh start
[sudo] password for llchli:
Using CATALINA_BASE: /usr/local/apache-tomcat-7.0.47
Using CATALINA_HOME: /usr/local/apache-tomcat-7.0.47
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.47/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/apache-tomcat-7.0.47/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.47/bin/tomcat-juli.jar
它回显Using JRE_HOME: /usr,这在我的计算机上不是正确的JAVA_HOME 或JRE_HOME。但它可以正确启动 Tomcat。
我的/etc/environment 是
llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ sudo cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/jdk1.7.0_45/bin"
LANGUAGE="en"
JAVA_HOME="/usr/local/jdk1.7.0_45"
CLASSPATH="$CLASSPATH:$JAVA_HOME/lib"
CATALINA_HOME="/usr/local/apache-tomcat-7.0.47"
对此我有点疑惑。而且当我像这样使用daemon.sh 时,它会产生错误。
llchli@llchli-virtual-machine:/usr/local/apache-tomcat-7.0.47/bin$ sudo ./daemon.sh run
Cannot find any VM in Java Home /usr
Cannot find any VM in Java Home /usr
Cannot locate JVM library file
Service exit with a return value of 1
它回显cannot find any VM in Java Home /usr。我很困惑。
任何帮助和建议将不胜感激。
提前致谢。
【问题讨论】:
-
为什么不使用
service tomcat7 start?您是否安装了tomact7软件包?还是你手动安装的? -
@ortang 我下载了 '.tar.gz' 文件并解压到 '/usr/local/'
-
好的,所以你手动安装了,我建议你使用包系统。只有真的必须手动安装软件。这将使您的系统保持清洁,而且您不太可能更新您安装的安装(例如安全修复程序)。如果你使用这个包,一切都会开箱即用。
-
只是调试该问题的提示:编辑脚本并添加
set +x,使用env显示当前环境。