zhtv 发表于 2015-8-7 11:27:42

Tomcat启动找不到JRE_HOME的解决方法

  在配置测试环境时,将生产服务器的Tomcat目录打包过来后解压后,启动Tomcat后,发现如下问题:
  $ ./shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.6.0_12
/usr/local/tomcat/bin/catalina.sh: line 315: /usr/java/jdk1.6.0_12/bin/java: No such file or directory
  $ ./startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.6.0_12
  $ cd /usr/java/jdk1.6.0_12
-bash: cd: /usr/java/jdk1.6.0_12: No such file or directory
  因为在测试环境,安装的是jdk-6u31-linux-x64-rpm.bin,其实并没有所谓的/usr/java/jdk1.6.0_12目录,而是/usr/java/jdk1.6.0_31
$ pwd
/usr/java/jdk1.6.0_31
  于是修改了.bash_profile   
$ more .bash_profile
# .bash_profile
  # Get the aliases and functions
if [ -f ~/.bashrc ]; then
      . ~/.bashrc
fi
  # User specific environment and startup programs
JAVA_HOME=/usr/java/jdk1.6.0_31/
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
  PATH=$PATH:$HOME/bin
  export PATH
  但是当时忘了使用source .bash_profile 使配置信息生效,结果依然报这个错误,搜索了一下可以通过修改setclasspath.sh文件,在里面添加下面变量解决问题。如下所示
  export JAVA_HOME=......
export JRE_HOME=.......

其实只要使.bash_profile配置文件生效了后,就可以将setclasspath.sh下的JAVA_HOME去掉了。在这个配置文件指定JAVA_HOME或JRE_HOME主要用于当服务器有多个版本的JDK时,指定tomcat使用某个特殊版本.
  
  参考资料:
    http://blog.iyunv.com/eifjgoergfgrgr/article/details/7556882
页: [1]
查看完整版本: Tomcat启动找不到JRE_HOME的解决方法