为什么要在setclasspath.bat设置JAVA_HOME和JRE_HOME的变量的值?
在windows环境下以批处理文件方式启动tomcat,只要运行<CATALINA_HOME>/bin/startup.bat这个文件,就可以启动Tomcat。在启动时,startup.bat会调用catalina.bat文件,而catalina.bat会调用setclasspath.bat文件来获取JAVA_HOME和JRE_HOME这两个环境变量的值,因此若要在tomcat启动时指向特定的JDK,则需在setclasspath.bat文件的开头处加入以下内容:
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 730396 2008-12-31 13:49:30Z markt $
rem ---------------------------------------------------------------------------
set JAVA_HOME=C:\Java\jdk1.60
set JRE_HOME=C:\Java\jre1.60
C:\Java\jdk1.60就是JDK的安装路径。
同下:
默认情况下,JDK安装好后,在系统环境变量里设置好JAVA_HOME就可了,但如果系统有多个web服务器,而每个WEB服务器根据需要,要使用不用的JDK版本,那么如下设置就可以解决此类问题。
在tomcat所在目录下的bin子目录里面有个setclasspath.bat文件,
打开并找到 if not "%JAVA_HOME%" == "" goto gotJdkHome 字样。
在该行代码上面加上set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_18
当然后面的值就是为这个tomcat所指定的特定的JDK安装目录。
设置好启动tomcat即可。
rem表示注释。
注:需要说明的是部分版本的tomcat5是没有bat文件的 它的启动直接是exe,暂时还没想到方法。