为tomcat7指定JDK

我已经安装了tomcat7 (使用apt-get install ),每当我想启动tomcat7它会说:

 * no JDK found - please set JAVA_HOME 

我在我的bash.bashrc~/.bashrc设置了JAVA_HOME ,当我发出echo $JAVA_HOME我清楚地看到这个变量指向我的jdk的根文件夹。 有人可以帮帮我吗?

谢谢

你可以试试这个:

只需按键盘上的Ctrl + Alt + T即可打开终端。 打开时,运行以下命令。

 gksudo gedit /etc/default/tomcat7 

文件打开时,取消注释设置JAVA_HOME变量的行。

在此处输入图像描述

保存并重启tomcat7服务器。

Tomcat实际上不会使用您的JAVA_HOME环境变量,而是查看一些预定义位置和启动脚本内的JAVA_HOME变量集,正如其他答案所指出的那样。 如果您不喜欢搞乱tomcat启动脚本,可以为首选的java安装创建一个符号链接,这将由tomcat选取。

例如:

 ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java 

打开终端

 echo $JAVA_HOME 

复制结果。 然后

 sudo -H gedit /etc/default/tomcat7 

#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk替换为您从$JAVA_HOME复制的输出。

只需在/ etc / default / tomcat7中添加以下行,即定义JAVA_HOME变量

 JAVA_HOME=/usr/lib/jvm/java-7-oracle 

然后运行命令

 sudo service tomcat7 restart 

添加到Mitch的答案(上面接受的答案),检查你的/usr/lib/jvm/目录。 通常,java自己安装在那里。

您可能安装了oracle java,或者您可能安装了最新版本的Java。 只需检查/usr/lib/jvm/的目录,然后添加java所在的目录。

对我来说,它是:

 /usr/lib/jvm/java-8-oracle 

所以,替换

 #JAVA_HOME=/some/directory 

 #JAVA_HOME=/usr/lib/jvm/java-8-oracle 

为我做了这份工作。