Unable to start embedded tomcat

Pavan Andhukuri

Our Spring boot application is throwing the following error when I try to run it as a Spring Boot Application. (Right Click -> Run As -> Spring Boot Application)

Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:474)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:686)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:957)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:946)
        at com.dhboa.trex.TRexApplication.main(TRexApplication.java:14)
    Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:98)
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:75)
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:378)
        at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:155)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:157)
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
        ... 7 more
  ..........
    Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter]: Factory method 'mappingJackson2XmlHttpMessageConverter' threw exception; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter(Lcom/fasterxml/jackson/core/PrettyPrinter;)Lcom/fasterxml/jackson/databind/SerializationConfig;
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
        ... 145 more
    Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.SerializationConfig.withDefaultPrettyPrinter(Lcom/fasterxml/jackson/core/PrettyPrinter;)Lcom/fasterxml/jackson/databind/SerializationConfig;
        at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:82)
        at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:63)
        at com.fasterxml.jackson.dataformat.xml.XmlMapper.<init>(XmlMapper.java:49)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        at org.springframework.beans.BeanUtils.instantiate(BeanUtils.java:78)
        at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:514)
        at org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter.<init>(MappingJackson2XmlHttpMessageConverter.java:49)
        at org.springframework.boot.autoconfigure.web.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration.mappingJackson2XmlHttpMessageConverter(JacksonHttpMessageConvertersConfiguration.java:84)
        at org.springframework.boot.autoconfigure.web.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration$$EnhancerBySpringCGLIB$$f2b9ded.CGLIB$mappingJackson2XmlHttpMessageConverter$0(<generated>)
        at org.springframework.boot.autoconfigure.web.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration$$EnhancerBySpringCGLIB$$f2b9ded$$FastClassBySpringCGLIB$$911122bf.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
        at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309)
        at org.springframework.boot.autoconfigure.web.JacksonHttpMessageConvertersConfiguration$MappingJackson2XmlHttpMessageConverterConfiguration$$EnhancerBySpringCGLIB$$f2b9ded.mappingJackson2XmlHttpMessageConverter(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
        ... 146 more

The same source is working on a different machine. I tried Force updating the maven dependencies once again but didn't result in anything. Also, war file is being built properly when I do maven install.

Update Dependency heirarchy

Extract of POM

<project>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.3.RELEASE</version>
    <relativePath/>
    <!-- lookup parent from repository -->
</parent>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        
    <java.version>1.7</java.version>
    <activiti.version>5.17.0</activiti.version>
    <tomcat.version>7.0.64</tomcat.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>jcl-over-slf4j</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
            <exclusion>
                <artifactId>jul-to-slf4j</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
            <exclusion>
                <artifactId>slf4j-api</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
            <exclusion>
                <artifactId>log4j-over-slf4j</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>slf4j-api</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.4</version>
    </dependency>
    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-apt</artifactId>
        <version>4.0.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>4.0.3</version>
    </dependency>
    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-core</artifactId>
        <version>3.6.6</version>
    </dependency>
    <dependency>
        <groupId>com.mysema.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>3.6.6</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy</artifactId>
    </dependency>
    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>spring-boot-starter-basic</artifactId>
        <version>${activiti.version}</version>
    </dependency>
    <dependency>
        <groupId>com.icegreen</groupId>
        <artifactId>greenmail</artifactId>
        <version>1.4.1</version>
    </dependency>
    <!--Email Dependencies -->
    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.integration</groupId>
        <artifactId>spring-integration-core</artifactId>
    </dependency>
    <dependency>
        <groupId>com.dhboa.commons</groupId>
        <artifactId>data-utils</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>com.mysema.maven</groupId>
            <artifactId>apt-maven-plugin</artifactId>
            <version>1.1.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>process</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>target/generated-sources/java</outputDirectory>
                        <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-apt</artifactId>
                    <version>3.6.6</version>
                </dependency>
                <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-jpa</artifactId>
                    <classifier>apt</classifier>
                    <version>3.6.6</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

Avis

This is the issue with jackson-databind jar. On your jar screenshot it can be seen that the jar with version 2.4.5 is getting resolved & used while the method withDefaultPrettyPrinter has been introduced with version 2.6.0 of jackson-databind jar only. Pls correct the jar version to resolve the issue.

Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.SerializationConfig.
withDefaultPrettyPrinter(Lcom/fasterxml/jackson/core/PrettyPrinter;)
Lcom/fasterxml/jackson/databind/SerializationConfig;

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Java

WebServerException: Unable to start embedded Tomcat

From Dev

Unable to start embedded Tomcat org.springframework.context.ApplicationContextException

From Dev

Spring boot: Unable to start embedded Tomcat servlet container

From Dev

unable to start embedded Tomcat when running Eureka Server

From Dev

Embedded Tomcat Would Not Start

From Dev

SpringBoot - Unable to start embedded container

From Dev

unable to start tomcat with maven project

From Dev

Java: Testing web application on embedded Tomcat (Tomcat won't start)

From Dev

Unable to start titan server with embedded cassandra and rexter

From Dev

Spring framework unable to start embedded container

From Dev

Unable to start titan server with embedded cassandra and rexter

From Dev

Spring framework unable to start embedded container

From Dev

Run grails functional test without having embedded tomcat start

From Dev

Including AOP into Spring Boot (with JavaConfig) causes embedded Tomcat to not start

From Dev

Including AOP into Spring Boot (with JavaConfig) causes embedded Tomcat to not start

From Dev

start embedded Tomcat and open browser from command line

From Dev

Tomcat 8 Embedded - WebServlet - 'A child container failed during start'

From Dev

Getting error "Tomcat was unable to start within 45 seconds."

From Dev

Unable to start tomcat 7: Caused by: java.lang.NoClassDefFoundError

From Dev

Tomcat 8 embedded - ERROR {org.apache.catalina.core.ContainerBase} - A child container failed during start

From Dev

Embedded Tomcat in Spring Boot Web application does not start with module-info

From Dev

Error on Tomcat Embedded startup

From Dev

Using Guice with embedded Tomcat?

From Dev

Embedded Tomcat enable SSL

From Dev

Spring boot - Embedded Tomcat

From Dev

Setting 'relaxedQueryChars' for embedded Tomcat

From Dev

Error on Tomcat Embedded startup

From Dev

Hazelcast embedded in tomcat

From Dev

Restarting embedded tomcat

Related Related

  1. 1

    WebServerException: Unable to start embedded Tomcat

  2. 2

    Unable to start embedded Tomcat org.springframework.context.ApplicationContextException

  3. 3

    Spring boot: Unable to start embedded Tomcat servlet container

  4. 4

    unable to start embedded Tomcat when running Eureka Server

  5. 5

    Embedded Tomcat Would Not Start

  6. 6

    SpringBoot - Unable to start embedded container

  7. 7

    unable to start tomcat with maven project

  8. 8

    Java: Testing web application on embedded Tomcat (Tomcat won't start)

  9. 9

    Unable to start titan server with embedded cassandra and rexter

  10. 10

    Spring framework unable to start embedded container

  11. 11

    Unable to start titan server with embedded cassandra and rexter

  12. 12

    Spring framework unable to start embedded container

  13. 13

    Run grails functional test without having embedded tomcat start

  14. 14

    Including AOP into Spring Boot (with JavaConfig) causes embedded Tomcat to not start

  15. 15

    Including AOP into Spring Boot (with JavaConfig) causes embedded Tomcat to not start

  16. 16

    start embedded Tomcat and open browser from command line

  17. 17

    Tomcat 8 Embedded - WebServlet - 'A child container failed during start'

  18. 18

    Getting error "Tomcat was unable to start within 45 seconds."

  19. 19

    Unable to start tomcat 7: Caused by: java.lang.NoClassDefFoundError

  20. 20

    Tomcat 8 embedded - ERROR {org.apache.catalina.core.ContainerBase} - A child container failed during start

  21. 21

    Embedded Tomcat in Spring Boot Web application does not start with module-info

  22. 22

    Error on Tomcat Embedded startup

  23. 23

    Using Guice with embedded Tomcat?

  24. 24

    Embedded Tomcat enable SSL

  25. 25

    Spring boot - Embedded Tomcat

  26. 26

    Setting 'relaxedQueryChars' for embedded Tomcat

  27. 27

    Error on Tomcat Embedded startup

  28. 28

    Hazelcast embedded in tomcat

  29. 29

    Restarting embedded tomcat

HotTag

Archive