![为tomcat7指定JDK](https://linux22.com/image/961667/%E4%B8%BAtomcat7%E6%8C%87%E5%AE%9AJDK.png)
我已经安装tomcat7
(使用apt-get install
),每当我想要启动时tomcat7
它都会说:
* no JDK found - please set JAVA_HOME
JAVA_HOME
我已经在我的bash.bashrc
和中设置了~/.bashrc
,当我发出时echo $JAVA_HOME
,我清楚地看到这个变量指向我的 jdk 的根文件夹。有人能帮我吗?
谢谢
答案1
您可以尝试以下操作:
只需按下键盘上的Ctrl+ Alt+T即可打开终端。打开后,运行以下命令。
gksudo gedit /etc/default/tomcat7
文件打开后,取消注释设置 JAVA_HOME 变量的行。
保存并重启tomcat7服务器。
答案2
Tomcat 实际上不会使用您的 JAVA_HOME 环境变量,而是会查看一些预定义位置以及启动脚本中设置的 JAVA_HOME 变量,正如其他答案所指出的那样。如果您不喜欢弄乱 tomcat 启动脚本,您可以为首选的 java 安装创建一个符号链接,tomcat 将获取该符号链接。
例如:
ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java
答案3
打开终端
echo $JAVA_HOME
复制结果。然后
sudo -H gedit /etc/default/tomcat7
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
用您从 复制的输出进行替换$JAVA_HOME
。
答案4
除了 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
为我完成了工作。