< 返回上层

如何设置springboot启动端口

2019-11-18 18:05:47 276次

spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境。可是当我们要同时启动2个springboot工程时,就会有问题,有可能会因为8080端口被第一个应用占用而导致第二个应用无法启动,这时就需要修改其中一个工程的启动端口。

可以通过实现EmbeddedServletContainerCustomizer接口来实现:


public class Application extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer { 
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
  return builder.sources(Application.class); 
 } 
 public static void main(String[] args) { 
  SpringApplication.run(Application.class, args); 
 } 
 @Override
 public void customize(ConfigurableEmbeddedServletContainer container) { 
  container.setPort(8081); 
 } 
}

PS:下面看下spring boot创建应用端口冲突8080 


如果你电脑上的8080端口号被其它程序(如jenkins)占用了,则运行lightsword会报以下错误:java.net.BindException: Address already in use......Failed to start component [Connector[HTTP/1.1-8080]]...

解决方法:在src->main->resources目录下新建一个文件,名称为application.properties(这是SpringBoot统一的配置文件)加了以下一行内容:(取个电脑上可用的端口号,如下面的9527,看过星爷电影的都懂的)server.port = 9527

再次运行即可。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

更多建议

这条文档是否有帮助解决问题?

没有帮助 有帮助

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: