我使用不同版本的JDK(5.0,6.0)和Tomcat(6.0,7.0)有不同的项目,那么我应该如何在环境变量中设置JAVA_HOME
和CATALINA_HOME
?
或者如果我通过JAVA_HOME
文件运行我的应用程序,可能没有必要在环境变量中设置CATALINA_HOME
和.War
? jdk/tomcat
服务器将在我打包时运行我选择的版本(通过Eclipse - >偏好设置......)。
答案 0 :(得分:15)
在tomcat启动脚本/bin/catalina.sh
中,使用以下环境变量:
JAVA_HOME
是用于运行tomcat和Web应用程序的JDK路径CATALINA_HOME
是tomcat二进制文件的路径CATALINA_BASE
是tomcat配置文件的路径那么,这种方法怎么样?例如:
将JDK 5.0安装到:/opt/jdk5
将JDK 6.0安装到:/opt/jdk6
将tomcat 6.0安装到:/opt/tomcat6
将tomcat 7.0安装到:/opt/tomcat7
您的每个Web应用程序都有自己的文件夹来保存自己的tomcat配置。例如 :
{1}用于Web应用程序1
/home/web1
用于Web应用程序2
在每个文件夹中,我们需要以下子目录:/home/web2
,conf
,logs
,temp
和webapps
。只需复制这些tomcat安装文件夹中的子目录(即work
)。然后将/opt/tomcat7/
放到相应的.war
文件夹中(例如webapps
,/home/web1/webapps/webappl.war
)。< / p>
最后,编写一个脚本来为每个应用程序使用不同的JDK和tomcat启动tomcat。例如,要启动web1,您的脚本应该看起来像:
/home/web2/webapps/webapp2.war
参考: http://www.mohancheema.net/appserver/setting-tomcat-to-run-mutiple-instances-of-it
答案 1 :(得分:4)
如果在Eclipse中运行它,则可以使用“运行配置”对话框设置需要更改的任何环境变量。执行指定的运行配置时会自动设置这些设置。要使用此功能,请右键单击您的项目,选择运行 - &gt;运行配置。您可以选择“运行配置”,然后转到“环境”选项卡,在那里可以指定所需的自定义变量,还可以覆盖操作系统设置的任何内容。
如果您想在eclipse之外执行此操作,并保留专用于每个项目的Tomcat副本,请根据您的操作系统编辑startup.sh或startup.bat文件,然后在那里明确设置environemnt变量。
实施例。对于项目1:,在/opt/apache-tomcat6-1/bin/startup.sh文件的顶部添加这些行
导出JAVA_HOME ='/ opt / jdk1' export JAVA_HOME ='/ opt / apache-tomcat6-1'
实施例。对于Project 2:,在/opt/apache-tomcat6-2/bin/startup.sh文件的顶部添加这些行
导出JAVA_HOME ='/ opt / jdk2' export JAVA_HOME ='/ opt / apache-tomcat6-2'
如果您没有Tomcat的专用副本,那么您可以为每个项目创建一个shell脚本/批处理文件,它将设置这样的必要环境变量,然后调用相应的startup.sh或startup.bat文件。
答案 2 :(得分:2)
这些变量由启动Tomcat的脚本使用,否则无关紧要。您可以在运行startup.sh
脚本之前立即设置它们,也可以编辑catalina.sh
脚本以在脚本中设置值(这是一种很好的方法,因为catalina.sh
由其他脚本共享),或者您可以编写自己的脚本来设置变量,然后调用tomcat脚本......有很多可能性。您无法全局设置变量。