文章转载自:[169IT-最新最全的IT资讯]
参考方案一:
一个服务器两个jdk,一个是jdk1.4,一个是jdk1.6。
同样tomcat版本是,tomcat5.0和tomcat6.0。都安装在一个服务器上。
tomcat5.0匹配jdk1.4,
tomcat6.0匹配jdk1.6,
1.首先指定tomcat匹配的jdk
tomcat/bin目录下
catalina.bat
setclasspath.bat
两个文件用记事本打开,都添加一句话
set JAVA_HOME=jdk路径
以为添加好tomcat的匹配路径,就可以了。
2.但是,低版本tomcat中的项目,看似是没问题了,但是,服务器启动后,有些功能还是出不来。查了很久还是jdk1.6和jdk1.4冲突问题
tomcat5.0低版本一定要tomcat6.0启动之前完成启动
所以一定要设置服务器启动顺序。把tomcat5.0启动设置tomcat6.0之前, 打开注册表,HKEY_LOCAL_MACHINE->SYSTEM->Services->新建多字符串值,名称为:DependOnService,
值为:
tomcat5.0
tomcat6.0
这样即可
参考方案二:
1、JDK目录名称不一样,如安装目录如下:/usr/local/jdk1.5.0_02和/usr/local/jdk1.6.0_30
2、安装不同版本的tomcat服务程序,参考目录如下:/usr/local/apache-tomcat-5.5.26 和/usr/local/apache-tomcat-6.0.33
3、分别在不同版本的tomcat服务器bin目录下创建可执行的setenv.sh文件,加入以下信息(为什么要创建setenv.sh。在catalina.sh有说明):
在tomcat-5.5.26里面添加如下3行:
JAVA_HOME=/usr/local/jdk1.5.0_02
JRE_HOME=/usr/local/jdk1.5.0_02/jre
CLASSPATH=/usr/local/jdk1.5.0_02/lib:/usr/local/jdk1.5.0_02/jre/lib
另外一个tomcat-6.0.33的setenv.sh里面添加
JAVA_HOME=/usr/local/jdk1.6.0_30
JRE_HOME=/usr/local/jdk1.6.0_30/jre
CLASSPATH=/usr/local/jdk1.6.0_30/lib:/usr/local/jdk1.6.0_30/jre/lib
4、分别在不同版本的tomcat服务器下bin目录下,编辑catalina.sh文件,设置在tomcat-5.5.26里面添加如下几行:
CATALINA_HOME=/usr/local/apache-tomcat-5.5.26
CATALINA_BASE=/usr/local/apache-tomcat-5.5.26
CATALINA_PID=/usr/local/apache-tomcat-5.5.26/bin/tomcat.pid
另外一个tomcat-6.0.33的setenv.sh里面添加
CATALINA_HOME=/usr/local/apache-tomcat-6.0.33
CATALINA_BASE=/usr/local/apache-tomcat-6.0.33
CATALINA_PID=/usr/local/apache-tomcat-6.0.33/bin/tomcat.pid
5、为不同版本的tomca服务器配置不同的端口(8080,8143,8005,8009等)。
多jdk环境下安装多个tomcat冲突解决配置方法,布布扣,bubuko.com
原文:http://my.oschina.net/u/1766067/blog/300807