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


当前回答

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);

    }

}

其他回答

此外,您还可以以编程方式配置端口。

对于Spring Boot 2.x.x:

@Configuration
public class CustomContainer implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
  public void customize(ConfigurableServletWebServerFactory factory){
    factory.setPort(8042);
  }
}

对于旧版本:

@Configuration
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return (container -> {
            container.setPort(8012);
        });
    }
}

您可以在下面的方法中添加端口。

执行->配置命令 在application.xml中添加server.port=XXXX

在应用程序中。属性文件,添加这一行:

server.port = 65535

该把照片放在哪里?

24.3应用程序属性文件 SpringApplication从应用程序加载属性。属性文件 并将它们添加到Spring环境中: 当前目录下的/config子目录 当前目录 一个类路径/配置包 类路径根 列表按优先级(在位置中定义的属性)排序 列表中较高的位置将覆盖在较低位置定义的那些)。

在我的例子中,我把它放在jar文件所在的目录中。

来自:

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-application-property-files

类似于https://stackoverflow.com/a/36865796/1587329和https://stackoverflow.com/a/40799750/1587329, gradle的一行代码是

SERVER_PORT=9090 gradle bootRun

只需设置环境变量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: