直接启动tomcat时为tomcat指定JDK 而不是读取环境变量中的配置

第一种:
在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,暂时还没想到方法。

 

 


转载第二种:
1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=XXXXXX,其中XXXXXX为jdk 的路径,如c:\j2sdk1_4

2、修改tomcat/bin/setclasspath.bat,同样增加 set JAVA_HOME=XXXXXX

一般人常常忘了步骤2,导致的结果就是特定版本的java启动tomcat,但是jdk用的还是系统默认的(在系统的JAVA_HOME中的设置)。

另外再说一点就是 如果电脑上装了多个版本的jdk 譬如1.5跟1.6 ,都在path环境变量里配置了。那么在启动tomcat的时候会怎么样呢。我做了一个简单的测试:

1:首先在path里添加两个版本的jdk 1.5跟1.6

2:然后先用1.5先编译项目A 编译后复制部署到tomcat6中 启动 可以正常访问

3:再用1.5编译执行2的步骤,也是可以正常访问。

推测:电脑中安装配置多个版本的jdk时,tomcat会根据部署的项目智能选择需要的版本的jdk.

全文貌似主要针对win系统


 

你可能感兴趣的:(直接启动tomcat时为tomcat指定JDK 而不是读取环境变量中的配置)