如果我有多个用于Projects的版本,如何设置JAVA_HOME或CATALINA_HOME?

时间:2011-05-30 04:21:39

标签: java tomcat

我使用不同版本的JDK(5.0,6.0)和Tomcat(6.0,7.0)有不同的项目,那么我应该如何在环境变量中设置JAVA_HOMECATALINA_HOME

或者如果我通过JAVA_HOME文件运行我的应用程序,可能没有必要在环境变量中设置CATALINA_HOME.Warjdk/tomcat服务器将在我打包时运行我选择的版本(通过Eclipse - >偏好设置......)。

3 个答案:

答案 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/web2conflogstempwebapps。只需复制这些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脚本......有很多可能性。您无法全局设置变量。