【问题标题】:How to start Tomcat with a specific server.xml under Windows?如何在 Windows 下使用特定的 server.xml 启动 Tomcat?
【发布时间】:2009-07-20 16:51:35
【问题描述】:

有时我想用特殊配置启动 Tomcat 6,而不是使用“server.xml”。所以我创建了另一个名为server_test.xml 的xml 文件。现在我想告诉tomcat使用这个配置。这是怎么做到的?

我在网上几乎找不到任何东西。只有这样: "在 Tomcat 配置中使用不同的 server.xml 文件:./tomcat.sh start -f /var/tmp/server-${USER}.xml"

这正是我想要的。也许这适用于linux系统,但不适用于windows。有什么想法吗?

【问题讨论】:

    标签: java tomcat


    【解决方案1】:

    我明白了。我带了我半夜,但它有效:)

    一开始我也想到了符号链接,但是在 Windows 下你不想用它。我的第二个想法是修改catalina.bat,但这并不容易。而不同的CATALINA_HOME 并不是我真正想要的。

    那么我做了什么?我已将server.xml 作为参数提供给catalina.bat

    catalina.bat start -config \conf\server_test.xml
    

    又好又简单:)

    您可以拥有许多服务器配置文件,并为启动和停止脚本提供所需的文件。棘手的是 Catalina 类给你错误的使用信息:

    usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { start | stop }
    

    但如果您交换参数并首先提供“start”或“stop”,然后提供“-config ...”争论,一切正常。

    另外很好的是,您可以使用此解决方案在 IntelliJ IDEA 中创建不同的运行配置。我有一个 Tomcat 连接到本地数据库,一个连接到开发数据库。对于每个我都有不同的server.xml

    我希望这会有所帮助。

    问候, 塞巴斯蒂安

    【讨论】:

      【解决方案2】:

      看起来没有(记录的)选项可以传递给 startup.sh 或 catalina.sh 来更改它。

      也许您可以将server.xml 设置为您实际要使用的文件的符号链接,并且当您想要更改它时,只需在启动服务器之前更改符号链接?

      否则,您可以尝试使用不同的 $CATALINA_HOME 值,但这需要您复制整个目录结构。

      【讨论】:

        【解决方案3】:

        tomcat.sh 从 3.x 开始就不存在了,老实说,我不记得当时它有 '-f' 选项。

        你有两个选择:

        A) 您可以按照here 的描述设置多个 tomcat 实例,并通过将CATALINA_BASE 指向您想要的实例在它们之间切换。

        B) 您可以创建多个以不同名称命名的 server.xml 文件(例如 server-1.xmlserver-2.xml 等)并编写一个简单的批处理脚本,将您指定为命令行参数的那个复制到实际的server.xml 然后启动Tomcat。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-28
          相关资源
          最近更新 更多