2012-10-22 70 views
1

嘗試了一切,但它只是不會工作,即時通訊在EC2實例(亞馬遜AWS)上運行tomcat7。我可以通過啓動startup.sh手動啓動tomcat7,但不能在啓動時自動啓動。該錯誤消息我在日誌中獲取/ catalina.out中如下:tomcat7不會在啓動時運行

/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的版本」得到適當的輸出,但是「/etc/jdk1.7.0_07/bin/java -version」不起作用,只返回「沒有這樣的文件或目錄」。

我真的不知道該怎麼做,感覺就像我試過一切,希望有人能幫助我! 此外,實例正在運行Ubuntu服務器12.04

+2

設置JAVA_HOME應該是'$ JAVA_HOME - >在/ etc/jdk1.7.0_07'直到斌 –

+1

嘗試'這java'在shell來查看它正在使用哪個'java'二進制文件。用於啓動Tomcat的腳本也可能使用不同於'/ etc/jdk..'的java。 – birryree

+0

嘗試使用[Elastic Beanstalk](http://aws.amazon.com/elasticbeanstalk/),它會自動爲你做所有這些設置工作 – yegor256

回答

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

仍然會得到同樣的錯誤,但是「哪個java」返回「/ usr/bin/java「,我應該改變這一點,如果是的話,我該怎麼做? – Marcus

+0

@Marcus你的機器上還有另外一個java文件,你可以正確保存文件。重啓後也可以嘗試。 –

+0

我做了重啓,現在甚至沒有手動啓動tomcat7的作品,手動運行startup.sh時出現以下錯誤:「./catalina.sh 1:eval:/etc/jdk1.7.0_07/bin/java:not found 「(在catalina.out日誌文件中) – Marcus

0

爲Tomcat的自動啓動,它應該只啓動時間內啓動。

爲此,您需要編寫一個腳本來啓動tomcat並將該文件放入etc/init.d中,或者您可以將其放入不同的運行級別。

1

我對EC2上的ubuntu + tomcat7的細節不太瞭解。所以我的答案可能會略微缺少一點。它是從通用的ubuntu角度給出的。

如果您在Ubuntu上使用apt-get來管理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文件或者ma nually或使用如下命令:

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 
0

對我來說是修改shell腳本文件的提示(設置JAVA_HOME變量),這解決了問題。

tomcat腳本文件一般在/etc/init下。d/目錄

在`/等/ bash.bashrc`和你的java家