[英]How to test if the JAVA_HOME-variable is set correctly for Tomcat
我目前正在Ubuntu 14.10下设置Tomcat服务器。
在${CATALINA_HOME}/RUNNING.txt
它表示需要设置JAVA_HOME
或JRE_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设置了正确的路径?
输入终端,
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环境。 立即重新启动,并检查错误。
打开命令提示符,键入:
java -version
Java版本“ 1.8.0_60” Java(TM)
SE运行时环境(内部版本> 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
那么,您的问题是什么:
a)Tomcat无法启动,或者
b)它启动了,但是您不知道它使用的Java版本?
检查您的setenv.sh
文件是否可读。 如果不可读,它将被忽略。
如果设置了JRE_HOME变量,则将忽略JAVA_HOME。
如果未设置任何一个,则尝试使用一些默认值,包括对which java
的调用。 (魔术在$ {CATALINA_HOME} /bin/setclasspath.sh中)。
$ {CATALINA_HOME} /bin/version.sh脚本将打印Tomcat和Java的版本。
如果您有终端,则在Tomcat启动时,Tomcat脚本会打印JRE_HOME的实际值。 ( if [ $have_tty -eq 1 ];
在catalina.sh中阻止)。
在最新版本的Tomcat中,可以在server.xml中配置org.apache.catalina.startup.VersionLoggerListener
并将其打印到Java和其他设置的路径。 http://tomcat.apache.org/tomcat-8.0-doc/config/listeners.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.