首页 > 代码库 > 直接启动tomcat时为tomcat指定JDK
直接启动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