NaiveCoder
NaiveCoder

Reputation: 987

Spring boot jar Unable to start embedded Tomcat

i have created spring rest services using eclipse IDE. It works fine in eclipse when i run using Debug configurations however when I export it as a executable JAR and run using below command

java -jar cs.jar

it gives me below error:

    org.springframework.context.ApplicationContextException: Unable to start embedde
d container; nested exception is org.springframework.boot.context.embedded.Embed
dedServletContainerException: Unable to start embedded Tomcat
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationConte
xt.onRefresh(EmbeddedWebApplicationContext.java:124)
        at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:474)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationConte
xt.refresh(EmbeddedWebApplicationContext.java:109)

why it's not working as a jar?

Upvotes: 0

Views: 1509

Answers (1)

MohanGedela
MohanGedela

Reputation: 26

You need to check if you have included servlet-api jar in your classpath, if yes, delete it.

If servlet-api is in classpath, it is included in WEB-INF/lib and then the error is thrown because servlet container has already servlet api jar.

Delete servlet-api dependency from maven or gradle if exits or if this dependency is adding by any other module then exclude servlet api dependency like below

<dependency>
    <groupId><groupId></groupId>
    <artifactId><some dependency></artifactId>
    <version><version></version>
    <exclusions>
        <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Upvotes: 1

Related Questions