如文档中所述,可以使用 jvm -Dserver.port=8090
命令行选项将server.port
设置为系统属性,或者在/src/main/resources/
添加application.properties
server.port=8090
对于随机端口使用
server.port=0
在 Spring Boot 应用程序中,有两种主要方法可以更改嵌入式 Tomcat 中的端口。
修改 application.properties
首先,您可以尝试 / resources 文件夹中的 application.properties 文件:
server.port = 8090
修改虚拟机选项
第二种方法,如果要避免修改任何文件并检入仅在本地需要的文件,则可以使用 vm arg:
转到运行 -> 编辑配置 -> VM 选项
-Dserver.port=8090
此外,如果您需要更多信息,则可以在此处查看以下博客文章: 更改 Spring Boot 应用程序上的端口
由于 Spring Boot 提供了各种配置外部化机制 (通过各种PropertySource
实现和 / 或按顺序连接到Environment
对象的处理器),因此您可以通过以下方法在 jar 存档之外设置任何属性:
通过命令行参数将属性作为应用程序参数传递
java -jar <path/to/my/jar> --server.port=7788
从SPRING_APPLICATION_JSON
(Spring Boot 1.3.0+)中的属性
在 U * IX shell 中定义环境变量:
SPRING_APPLICATION_JSON='{"server.port":7788}' java -jar <path/to/my/jar>
通过使用 Java 系统属性:
java -Dspring.application.json='{"server.port":7788}' -jar <path/to/my/jar>
通过命令行参数传递:
java -jar <path/to/my/jar> --spring.application.json='{"server.port":7788}'
定义JVM 系统属性
java -Dserver.port=7788 -jar <path/to/my/jar>
定义操作系统环境变量
U * IX 外壳
SERVER_PORT=7788 java -jar <path/to/my/jar>
视窗
SET SERVER_PORT=7788
java -jar <path/to/my/jar>
将属性放在./config/application.properties
配置文件中
server.port=7788
并运行:
java -jar <path/to/my/jar>
将属性放在./config/application.yaml
server:
port: 7788
并运行:
java -jar <path/to/my/jar>
将属性放在./application.properties
server.port=7788
并运行:
java -jar <path/to/my/jar>
将属性放在./application.yaml
server:
port: 7788
并运行:
java -jar <path/to/my/jar>
您可以将上述方法全部组合在一起,列表中的前一种配置优先于后一种。
例如:
SERVER_PORT=2266 java -Dserver.port=5566 -jar <path/to/my/jar> --server.port=7788
服务器将启动并在端口 7788 上侦听。
这在提供较低优先级的 PropertySources 中的默认属性(通常打包在归档文件中或在源代码中),然后在运行时环境中覆盖它时非常有用。这是 Spring Boot 的设计理念:
开箱即用,但是随着需求开始偏离默认值,很快就会摆脱困境。
SERVER_NAME
到server.name
转换是通过Relaxed Binding完成的。