一尘不染

如何通过命令行传递tomcat端口号?

tomcat

是否可以告诉tomcat使用特定端口而不是server.xml中指定的端口?还是在server.xml中将环境变量配置为端口号的方法?(我可以在启动tomcat的批处理文件中进行设置)

本质上,我想启动一个tomcat实例的不同副本(版本),而不必手动更改每个实例中的server.xml,也不必记住哪个实例将在哪个端口启动。我希望在启动端口时指定端口号,以便在多个实例中没有冲突。


阅读 537

收藏
2020-06-16

共1个答案

一尘不染

更改您的server.xml,以便它将使用从属性扩展的端口号,而不是硬编码的端口号:

<Server port="${port.shutdown}" shutdown="SHUTDOWN">
...
  <Connector port="${port.http}" protocol="HTTP/1.1"/>
...
</Server>

这是在Linux中启动的方法(假设当前目录为CATALINA_HOME):

JAVA_OPTS="-Dport.shutdown=8005 -Dport.http=8080" bin/startup.sh

在Windows中,应如下所示:

set "JAVA_OPTS=-Dport.shutdown=8005 -Dport.http=8080"
bin\startup.bat
2020-06-16