2014-12-13 38 views
13

我在我的Ubuntu机器上安装了tomcat7。当我试图重新启动我得到消息设置JAVA_HOME服务器,但它被设置在.bashrc中为什么JAVA_HOME在Ubuntu中不被tomcat7识别?

export JAVA_HOME=/usr/lib/jvm/java-8-oracle 
export CATALINA_HOME=/usr/share/tomcat7 

错误:

[email protected]<ubuntu_14.04>:~$ sudo service tomcat7 restart 
[sudo] password for omkars: 
* no JDK or JRE found - please set JAVA_HOME 
[email protected]<ubuntu_14.04>:~$ echo $JAVA_HOME 
/usr/lib/jvm/java-8-oracle 

什么可能会错过? 谢谢。

+0

第一条:您使用导出环境变量“omkars”,并启动“tomcat7”为根'须藤';环境将不会传递到该进程。第二:我手头没有Ubuntu,但是:在RedHat/CentOS上,'/ etc /'下面有应用程序服务器配置,指定用于启动的环境。尝试grep'/ etc'为“JAVA_HOME”。 – 2014-12-13 09:40:25

回答

22

现在,它的工作!

变化我做的:

  • 改变.bashrc中的问题进行说明。
  • 更改/etc/init.d/tomcat7指向Oracle Java8这是在这里失踪!

    JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-7-oracle **/usr/lib/jvm/java-8-oracle**" 
    

然后,

[email protected]:~# sudo service tomcat7 restart 
* Starting Tomcat servlet engine tomcat7        [ OK ] 

得到了该页面的提示:
https://mifosforge.jira.com/wiki/display/MIFOSX/Install+Tomcat+7+on+Ubuntu+11.10+for+Mifos+X

感谢

+0

你应该接受这是正确的答案。问题是因为Tomcat的Ubuntu init.d启动脚本(如果通过apt-get安装的话)不检查Java 8 jdk。 – 2015-02-01 19:06:40

+0

谢谢@ChrisClark。 – Omkar 2015-02-02 04:53:20

+0

谢谢@Omkar你的回答非常有帮助。 – 2015-12-10 21:02:12

3

它需要为运行tomcat服务的用户设置,而不是为您的用户设置。

将其设置在系统宽度配置文件中,在/etc/profile/etc/profile.d/的某处,取决于机器的配置方式。

2

您可以在setenv.sh脚本中设置环境变量。按照Running The Apache Tomcat 7.0文件:

Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can be specified in the "setenv" script. The script is placed either into CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named setenv.bat (on Windows) or setenv.sh (on *nix).

所以只需添加以下行setenv.sh

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

这种方式,您正在设置本地变量

3

/etc/init.d/tomcat7源文件启动脚本,然后再搜索一些知名的安装位置。

将行JAVA_HOME=/usr/lib/jvm/java-8-oracle添加到/etc/default/rcS可以在不直接修改/etc/init.d/tomcat7脚本的情况下更正no JDK or JRE found启动问题。

6

处理此问题的首选方式似乎是取消注释/etc/default/tomcat7中的JAVA_HOME条目并相应地调整路径。如果您将webupd8存储库与oracle-java8-installer一起使用,则它的格式为JAVA_HOME=/usr/lib/jvm/java-8-oracle

1

我有同样的问题,但我在/etc/init.d/tomcat改变 JDK_DIR变量如下解决这个问题:

JDK_DIRS="/usr/lib/jvm/default-java ${OPENJDKS} /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-8-oracle"