雲伺服器:如何設定springboot啟動埠

kflj88發表於2020-04-17

: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

再次執行即可。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31516067/viewspace-2686768/,如需轉載,請註明出處,否則將追究法律責任。

相關文章