如何测试是否为Tomcat正确设置了JAVA_HOME变量

时间:2015-01-16 09:27:06

标签: java tomcat environment-variables startup

我目前正在Ubuntu 14.10下设置Tomcat服务器。

${CATALINA_HOME}/RUNNING.txt中说明,需要设置JAVA_HOMEJRE_HOME。我在文件${CATALINA_HOME}/bin/setenv.sh中填写了:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

因为

sudo dpkg -L 'openjdk-7-jdk'

表示这是我安装JDK的地方。为了测试位置,我也试过了:

JAVA_HOME=/usr/lib/jvm/some-none-existing-place
使用${CATALINA_HOME}/bin/startup.sh启动tomcat时

给出无错误(虽然路径显然不存在)

那么,这个变量何时被Tomcat使用?如何检查我是否设置了正确的路径(对于Tomcat)?

3 个答案:

答案 0 :(得分:3)

输入终端,

echo $JAVA_HOME

它将显示JAVA_HOME变量路径。

如果没有任何显示,则可以手动设置,

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

根据您的JDK类型和不同,这将有所不同。版本

编辑:您也可以按照以下步骤确保在tomcat配置文件中设置。

点击Ctrl+Alt+T打开终端并运行:

sudo gedit /etc/default/tomcat7

查找评论JAVA_HOME,取消注释并将目录更改为JDK环境。立即重启并检查错误。

答案 1 :(得分:1)

打开命令提示符,键入:

java -version
  

java版" 1.8.0_60" Java(注册商标)

     

SE运行时环境(build> 1.8.0_60-b27)

     

Java HotSpot(TM)64位服务器VM(内置25.60-b23,混合模式)

javac -version
  

javac 1.8.0_60

echo %JAVA_HOME%
  

C:\ Program Files \ Java \ jdk1.8.0_60

答案 2 :(得分:0)

那么,你的问题是什么:
a)Tomcat无法启动,或者是 b)它启动了,但你不知道它使用的Java版本是什么?

  1. 检查您的setenv.sh文件是否可读。如果它不可读,则会被忽略。

  2. 如果设置了JRE_HOME变量,则将忽略JAVA_HOME。

    如果未设置任何一个,则会尝试一些默认值,包括调用which java。 (神奇的是$ {CATALINA_HOME} /bin/setclasspath.sh)。

  3. $ {CATALINA_HOME} /bin/version.sh脚本将打印Tomcat和Java的版本。

    如果您有终端,Tomcat脚本会在Tomcat启动时打印JRE_HOME的实际值。 (catalina.sh中的if [ $have_tty -eq 1 ];阻止。)

    在最新版本的Tomcat中,可以在server.xml中配置org.apache.catalina.startup.VersionLoggerListener,并将打印java和其他设置的路径。 http://tomcat.apache.org/tomcat-8.0-doc/config/listeners.html