How to Change the Embedded tomcat server with other embedded Server (Jetty or Undertow) in spring boot application?
I got this question many times and want to provide answer here:
To change the tomcat server with Undertow, replace the following dependencies:
1. Remove the spring-boot-starter-web dependency from pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2. Add the following dependencies
Here we will exclude the spring-boot-starter-tomcat dependency from spring-boot starter-web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
Now Run the application and check the console output, you will see: Undertow started on port(s) 8080: (In my case, it is default port, you can also change the port in application.properties file).
Screenshot:
To change the tomcat server with Jetty, replace the following dependencies:
1. Remove the spring-boot-starter-web dependency from pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2. Add the following dependencies
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
Now Run the application and check the console output, you will see: Jetty started on port(s) 8089 (Port which you have set for server, default port 8080).
Jetty output:
No comments:
Post a Comment