我有一台 Citrix 机器,我必须在那里运行一个 Web 服务(使用 Spring Boot 开发)。它是 Windows 10 主机。有一个奇怪的行为 - 端口是随机选择的,而不是配置的端口 8090。
我检查了我的 application.properties,它清楚地显示
server.port=8090
代码没有问题,如果我从任何其他机器上运行它,它将按预期从端口 8090 开始。
它甚至在 Citrix 机器上打印出 Tomcat 服务器已使用端口 8090 初始化。但最终它从一个随机端口 (22345) 开始,如下面的日志所示。如果我停止并重新启动,它将在另一个端口(可能是 23466)启动。
2021-06-28 13:45:52.490 INFO 31792 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8090 (http)
......
......
2021-06-28 13:45:53.348 INFO 31792 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 22345 (http) with context path ''
2021-06-28 13:45:53.355 INFO 31792 --- [ main] com.sreejesh.MainApplicationClass : Started MainApplicationClass in 3.701 seconds (JVM running for 4.798)
我什至尝试在命令行中覆盖它:
java -jar MyApp.jar --server.port=8090
结果仍然是相同的(好像有人奇怪地覆盖 server.port=0 以从随机端口开始)。
我想重申,在我的本地机器上一切正常,如预期的那样。只有在 Citrix 机器中才存在这种奇怪的行为。
关于为什么会发生这种情况的任何线索?感谢您的时间。