这是一个愚蠢的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