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


当前回答

这招对我很管用:

增加了一个自定义容器类:

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) {
       configurableEmbeddedServletContainer.setPort(8888);
    }

}

但这仍然没有使用端口8888。

然后我设置“scanBasePackages”属性就像这样在“@SpringBootApplication”类上我的主要方法:(scanBasePackages ={"自定义容器包"})

@SpringBootApplication(scanBasePackages = {"com.javabrains.util"})
public class CourseApiApp {

    public static void main (String args []) {
        SpringApplication.run(CourseApiApp.class, args);
    }
}

它开始拾取自定义容器中的端口集。

其他回答

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

在我的情况下添加声明

server.port=${port:8081}

覆盖默认的tomcat服务器端口。

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引导应用程序中,有两种主要方法可以更改嵌入式Tomcat中的端口。

修改application.properties

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

server.port = 8090

修改虚拟机选项

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

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

-Dserver.port=8090

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

在文件应用程序。属性添加以下内容: server.port = 8888 这里需要经常提到的项目