我目前正在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)?
答案 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版本是什么?
检查您的setenv.sh
文件是否可读。如果它不可读,则会被忽略。
如果设置了JRE_HOME变量,则将忽略JAVA_HOME。
如果未设置任何一个,则会尝试一些默认值,包括调用which java
。 (神奇的是$ {CATALINA_HOME} /bin/setclasspath.sh)。
$ {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