如何在命令行上传递tomcat端口号?

Ank*_*kur 13 tomcat

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

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

小智 24

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

<Server port="${port.shutdown}" shutdown="SHUTDOWN">
...
  <Connector port="${port.http}" protocol="HTTP/1.1"/>
...
</Server>
Run Code Online (Sandbox Code Playgroud)

以下是如何在Linux中启动(假设您当前的目录是CATALINA_HOME):

JAVA_OPTS="-Dport.shutdown=8005 -Dport.http=8080" bin/startup.sh
Run Code Online (Sandbox Code Playgroud)

在Windows中它应该像下面这样:

set "JAVA_OPTS=-Dport.shutdown=8005 -Dport.http=8080"
bin\startup.bat
Run Code Online (Sandbox Code Playgroud)