TOMCAT_HOME VS CATALINA_HOME

Dav*_*idR 6 tomcat tomcat8

我最近一直在更新一些文档(我们从 Apache Tomcat 7 迁移到 8)并注意到对TOMCAT_HOME. 比如创建环境变量TOMCAT_HOME。如果我是对的,TOMCAT_HOME在第 3 版中几乎不推荐使用并替换为CATALINA_HOMECATALINA_BASE?但是,我找不到任何关于此或何时使用TOMCAT_HOMEover 的权威文章CATALINA_HOME。我当然不会同时设置!?对此有明确的答案吗?流行的第三方应用程序是否寻找TOMCAT_HOME而不是CATALINA_HOME

小智 5

Tomcat 分为两部分。一部分是所有 Tomcat 实例通用的。它包含 bin 和 lib 目录之类的内容。

另一部分是按实例复制的。它包含工作、临时和日志目录。还有 conf,它是定义给定 Tomcat 实例使用哪些端口的 server.xml 所在的位置。

因此,要运行(和启动/停止)多个 Tomcat 实例,您不再将 CATALINA_HOME 和 CATALINA_BASE 指向同一个“TOMCAT_HOME”目录,而是为所有 Tomcat 拥有一个 CATALINA_HOME,为每个 Tomcat 拥有一个单独的 CATALINA_BASE。

如果您在单个主机上运行多个 Tomcat 实例,您应该将 CATALINA_BASE 设置为与每个实例对应的 .../tomcat_instance1 或 .../tomcat_instance2 目录,并将 CATALINA_HOME 环境变量设置为公共 Tomcat 安装的文件将在两个实例之间共享。


Mic*_*l-O 5

没有TOMCAT_HOME也没有。只有CATALINA_*- 仍然在 Tomcat 9 中。我认为 Mark Thomas 出于兼容性原因没有触及它。

不要发明你自己的环境变量——它们只会引起混乱。

  • 我已经接受了您的答案,因为它是最好的答案,但我认为如果您更新它以注意 TOMCAT_HOME 很久以前已被弃用,它会更完整。我这么说是因为我认为只有那些发现自己在他们接管的项目中查看 TOMCAT_HOME 变量并想知道如何处理它们的人才会发现这个 QA 有用(就像我一样)。 (7认同)
  • 我认为说没有“TOMCAT_HOME”是不正确的。查看这些旧链接:https://www.redhat.com/archives/redhat-c​​cm-list/2004-April/msg00040.html 和 http://archive.oreilly.com/pub/a/onjava/2001/ 03/29/tomcat.html?page=2。虽然这些是档案中的旧链接,但它们都引用了“TOMCAT_HOME”。似乎在某些时候它被 CATALINA_HOME 弃用了? (4认同)
  • 你会惊讶 Michal (3认同)