tomcat7不会在启动时运行

时间:2012-10-22 19:31:10

标签: java tomcat ubuntu amazon-ec2 amazon-web-services

尝试了一切,但它不会工作,我在EC2实例上运行tomcat7(amazon AWS)。我可以通过启动startup.sh手动启动tomcat7,但不能在启动时自动启动。我在logs / catalina.out中收到的错误消息如下:

/etc/apache-tomcat-7.0.32/bin/catalina.sh: 1: eval: /etc/jdk1.7.0_07/bin/java: not found

我的环境变量也正确设置:

echo $JAVA_HOME -> /etc/jdk1.7.0_07/bin/java
echo $PATH -> /usr/local/sbin:/usr/local/bin:/usr/sbin/:/usr/bin:/sbin:/bin:/usr/games:/etc/jdk1.7.0_07/bin

我也可以在shell中输入“java -version”获取正确的输出,但是“/etc/jdk1.7.0_07/bin/java -version”不起作用,只返回“没有这样的文件或目录< / EM>”。

我真的不确定现在该做什么,感觉就像我尝试了一切,希望有人能帮助我! 该实例还运行 Ubuntu服务器12.04

4 个答案:

答案 0 :(得分:1)

执行sudo su vi /etc/bash.bashrc并复制以下

JAVA_HOME=/etc/jdk1.7.0_07 //you have to only specify path until java dir not bin
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH

答案 1 :(得分:1)

我对EC2上的ubuntu + tomcat7的具体细节并不特别了解。所以我的回答可能会遗漏一点。它是从通用ubuntu的角度给出的。

如果你使用apt-get在ubuntu上管理tomcat和java,可能会更容易管理。在这种情况下,tomcat将在启动时自动启动。以下命令在ubuntu 12.10上进行了测试,但也适用于某些早期版本。

要安装Java,您需要以下内容:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

如果第一个命令失败,请使用以下命令:

sudo apt-get install software-properties-common

然后使用:

安装tomcat7
sudo apt-get install tomcat7

之后你需要告诉tomcat使用已安装的java 7.为此目的,手动或使用如下命令修改/ etc / default / tomcat7文件:

cat /etc/default/tomcat7 | sed 's/#JAVA_HOME=\/usr\/lib\/jvm\/openjdk-6-jdk/JAVA_HOME=\/usr\/lib\/jvm\/java-7-oracle/' >/tmp/tomcat7-updated
sudo cp /tmp/tomcat7-updated /etc/default/tomcat7

之后tomcat应该在启动时加载。您只需要调整端口和其他配置信息。请注意,此tomcat使用/ var / lib / tomcat7 / webapps /来存储Web应用程序。您也可以使用以下命令手动启动或停止tomcat:

sudo /etc/init.d/tomcat7 start

答案 2 :(得分:0)

对于tomcat的自动启动,它应该仅在启动时启动。

为此你需要编写一个脚本来启动tomcat并将此文件放在etc / init.d中,或者你可以将它放在不同的运行级别上。

答案 3 :(得分:0)

我的提示是修改shell脚本文件(设置JAVA_HOME变量),这解决了这个问题。

tomcat脚本文件通常位于 /etc/init.d/ 目录