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


当前回答

只需设置环境变量SERVER_PORT。 (这些例子适用于Linux)

使用java -jar启动: SERVER_PORT=9093 java -jar target/eric-sc-dummy.jar 通过maven spring-boot插件启动: SERVER_PORT=9093 mvn spring-boot:run

小贴士:

如果你在java -jar或mvn命令之前添加了其他子命令,那么你需要在一个单独的命令中添加export来设置env,并通过;将它们分开,以确保它对子进程可用。 例句: 出口SERVER_PORT = 9093;export MAVEN_OPTS="-Xmx256m -Xms64m";运行mvn spring-boot:

其他回答

你可以在java代码中设置port:

HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);

new SpringApplicationBuilder()
    .sources(SampleController.class)                
    .properties(props)
    .run(args);

或者在application.yml中:

server:
    port: 9999

或者在application.properties中:

server.port=9999

或者作为命令行参数:

-Dserver.port=9999

服务器端口声明有两种类型

1.静态类型

   server.port=8080. // your port number

动态类型 server.port = 0。//随机生成端口号。 server.port = ${端口:0}

正如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

Spring-web模块默认提供了一个运行在端口号8080上的嵌入式tomcat服务器。

您可以修改如下-

A)如果你使用gradle,那么可以在你的应用程序中设置属性。yml:

 server:  
      port: 8042

B)如果你正在使用maven,那么你可以在你的应用程序中设置属性。属性:

server.port: 8042

C)当你在自己的配置文件中有端口,并想在运行时设置它。

通过实现WebServerFactoryCustomizer接口- Spring 2.x

@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {

    @Override
    public void customize(TomcatServletWebServerFactory factory) {
        // customize the factory here
        factory.setPort(8042);
    }
}

通过实现EmbeddedServletContainerCustomizer接口- Spring 1.x

@Component
public class CustomizationBean implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        // customize here
        container.setPort(8042);
    }
}

实际上,最简单的方法是设置服务器。端口属性。

如果你使用STS作为IDE,从3.6.7版本开始,你实际上有Spring Properties Editor来打开属性文件。

该编辑器为所有Spring Boot属性提供了自动补全功能。如果你写端口并按CTRL + SPACE,服务器。端口将是第一选择。