Tomcat6找不到java环境variables

这是一个愚蠢的noob问题。 我安装了Tomcat6和java-6-oracle。 我将/ env / environment设置为包含JAVA_HOME和JRE_HOME(并指向正确的目录)。 但是当我尝试启动tomcat6时,它说:

no JDK found - please set JAVA_HOME 

这是我的/ etc / environment的样子:

 JAVA_HOME="/usr/lib/jvm/java-6-oracle" JRE_HOME="/usr/lib/jvm/java-6-oracle/jre" FEDORA_HOME="/var/lib/fedora" CATALINA_HOME="/var/lib/tomcat6" JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=128m -Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore -Djavax.net.ssl.trustStorePassword=tomcat" PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-oracle:/usr/lib/jvm/java-6-oracle/bin:/usr/lib/jvm/java-6-oracle/jre:/var/lib/fedora/server/bin:/var/lib/fedora/client/bin" 

我哪里做错了?

将这些行添加到$ CATALINA_HOME / bin / setenv.sh (或catalina.sh,但包含setenv.sh):

 export JAVA_HOME="/usr/lib/jvm/java-6-oracle" export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=128m Djavax.net.ssl.trustStore=/usr/local/fedora/server/truststore Djavax.net.ssl.trustStorePassword=tomcat" 

导出使variables对subprocess可用。

在tomcat中主要有classpath问题。 有很多方法可以解决这个问题。 其中一种方法如下。

1)find安装的Java。 IT存在于/usr/lib/jvm/

2)安装tomcat之后打开它的configuration

 sudo vi /etc/default/tomcat7 

3)search#JAVA_HOME取消注释并设置正确的path示例JAVA_HOME=/usr/lib/jvm/java-7-oracle

4)保存文件并重新启动tomcat

默认情况下,Tomcat将最好使用OpenJDK JVM运行,然后尝试Sun JVM,然后尝试其他一些JVM。 您可以通过在/ etc / default / tomcat6中设置JAVA_HOME来强制Tomcat使用特定的JVM

看来,当你启动tomcat6时,不能读取/etc/environment

在你的tomcat6启动脚本中,尝试添加这个:

 [ -r /etc/environment ] && . /etc/environment