Spring Boot – How to change Tomcat port

In Spring Boot, to change the embedded Tomcat initialized port (8080), update server.port properties.

P.S Tested with Spring Boot 1.4.2.RELEASE

1. Properties & Yaml

1.1 Update via a properties file.

/src/main/resources/application.properties

server.port=8888

1.2 Update via a yaml file.

/src/main/resources/application.yml

server:
  port: 8888

2. EmbeddedServletContainerCustomizer

Update via code, this overrides properties and yaml settings.

CustomContainer.java

package com.mkyong;

import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.stereotype.Component;

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

	@Override
	public void customize(ConfigurableEmbeddedServletContainer container) {

		container.setPort(8888);

	}

}

3. Command Line

Update the port by passing the system properties directly.

Terminal

java -jar -Dserver.port=8888 spring-boot-example-1.0.jar

References

  1. Spring Boot – Embedded servlet containers
  2. Spring Boot – Externalized Configuration
  3. Spring Boot – How to change context path

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

Leave a Reply

avatar
newest oldest most voted
Priyo
Guest
Priyo

Hi Myong,Your CustomContainer code worked..For a very long time I couldn’t get the solution of this..Thanks

Rohit Kumar Singh
Guest
Rohit Kumar Singh

Hi Mkyong,

May you please tell me that how to enable https and http both ports at once in Spring Boot application.