如何配置Spring Boot应用程序侦听的TCP/IP端口,使其不使用默认端口8080。


当前回答

如果端口号可以是随机的,则可以在应用程序中使用随机函数。属性server.port = $ {random.int (4)}

其他回答

如果你正在使用spring命令行接口(CLI),使用——将命令与spring命令参数分开,来更改端口:

春天跑你好。Groovy -- --server.port=9000

spring-boot cli

在Spring引导应用程序中,有两种主要方法可以更改嵌入式Tomcat中的端口。

修改application.properties

首先,您可以尝试应用程序。属性文件在/resources文件夹:

server.port = 8090

修改虚拟机选项

第二种方法,如果你想避免修改任何文件和检入你只需要在你的本地文件,你可以使用vm arg:

执行—>编辑配置—>虚拟机选项

-Dserver.port=8090

此外,如果您需要更多信息,可以查看下面的博客文章:在Spring引导应用程序上更改端口

使用属性服务器。例如,端口=8080,就像在其他答案中提到的那样,绝对是一种方法。只是想提一下,你也可以暴露一个环境属性:

SERVER_PORT=8080

因为在最近的版本中,spring boot能够替换“_”中的“。”,并将环境变量的小写改为大写。 这在容器中特别有用,在容器中,你所要做的就是定义环境变量,而不需要添加/编辑应用程序。属性或通过命令行传递系统属性(即-Dserver.port=$PORT)

正如Spring文档中解释的那样,有几种方法可以做到这一点:

您可以在命令行中设置端口(例如8888)

-Dserver。Port =8888或——server.port=8888

例如:java -jar -Dserver。端口= 8888 test.jar

或者在application.properties中设置端口

server.port=${port:4588}

或(在申请中)。Yml和yaml语法)

server:
   port: ${port:4588}

如果在命令行中设置了-Dport(或-Dserver.port)传递的端口,则将考虑该端口。如果不是,则端口默认为4588。

如果你想在属性文件中强制端口,不管环境变量是什么,你只需要写:

server.port=8888

1.1通过属性文件更新。

/ src / main /资源/ application.properties

server.port=8888

通过yaml文件更新。

   server:

     port: 8888

EmbeddedServletContainerCustomizer

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {

        container.setPort(8888);

    }

}