如何在Windows下使用特定的server.xml启动Tomcat?

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

我几乎没有发现在网上搜索。 只有:“在Tomcat配置中使用不同的server.xml文件:./ tomcat.sh start -f /var/tmp/server-${USER}.xml”

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

我懂了。 我带了半个晚上,但它的工作原理:)

起初我还想到了符号链接,但在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 } 

但是,如果您交换参数并首先提供“ 开始 ”或“ 停止 ”,然后再提供“ -config … ”参数,则一切正常。

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

我希望这有帮助。

此致,塞巴斯蒂安

它看起来不像有一个(记录的)选项,你可以传递给startup.sh或catalina.sh来改变它。

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

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

tomcat.sh自3.x以来就不存在了,说实话,我不记得它当时有’-f’选项。

你有两个选择:

A)您可以按照此处的说明设置多个tomcat实例,并通过将CATALINA_BASE指向您想要的实例来切换它们。

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