java.lang.IllegalStateException
    Caused by: org.springframework.context.ApplicationContextException
        Caused by: org.springframework.boot.web.server.WebServerException
            Caused by: org.springframework.beans.factory.BeanCreationException
                Caused by: org.springframework.beans.BeanInstantiationException
                    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException
                        Caused by: org.springframework.beans.factory.BeanCreationException
                            Caused by: org.springframework.beans.BeanInstantiationException
                                Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException
                                    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException
                                        Caused by: org.springframework.beans.factory.BeanCreationException
                                            Caused by: org.springframework.beans.BeanInstantiationException
                                                Caused by: org.springframework.beans.factory.BeanCreationException
                                                    Caused by: org.springframework.beans.BeanInstantiationException
                                                        Caused by: java.lang.NoSuchMethodError

Comment From: sumit-gurav

https://github.com/spring-projects/spring-boot/issues/19586#issue-547261119

plugins {
    id 'com.palantir.docker-run' version '0.20.1'
}

String container = UUID.randomUUID()
String port = getRandomPort()

dockerRun {
    name        container
    image       "registry.hhstechgroup.com/general/rabbitmq:3-management"
    ports       port + ':5672'
    daemonize   true
    env         'RABBITMQ_ERLANG_COOKIE': 'SWQOKODSQALRPCLNMEQG', 'RABBITMQ_DEFAULT_USER': 'rabbitmq', 'RABBITMQ_DEFAULT_PASS': 'rabbitmq', 'RABBITMQ_DEFAULT_VHOST': '/'
}

description = 'Provider Management core services'

dependencies {
    compile project(':commons:autoconfigure')
    compile project(':commons:commons')
    compile project(':commons:commons-audit')
    compile project(':commons:commons-services')
    compile project(':commons:jwt-filter')
    compile group: 'io.opentracing.contrib', name: 'opentracing-spring-cloud-parent', version: '0.3.5', ext: 'pom'
    compile "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client"
   // compile "io.opentracing.contrib:opentracing-spring-jaeger-cloud-starter"
    compile group: 'io.opentracing.contrib', name: 'opentracing-spring-jaeger-cloud-starter', version: '1.0.3'
    compile "org.springframework.boot:spring-boot-starter"
    compile "org.springframework.boot:spring-boot-starter-amqp"
    compile "org.springframework.boot:spring-boot-starter-web"
    compile "org.springframework.boot:spring-boot-starter-actuator"
    compile "org.springframework.boot:spring-boot-starter-tomcat"
    compile "org.springframework.boot:spring-boot-starter-security"
    compile "org.springframework.boot:spring-boot-starter-logging"
    compile "org.springframework.boot:spring-boot-starter-data-rest"
    compile "org.springframework.boot:spring-boot-starter-data-mongodb"
    compile "org.springframework.boot:spring-boot-starter-aop"
    compile "org.springframework:springloaded:1.2.8.RELEASE"
    compile "commons-io:commons-io:${commons_io_version}"
    compile "org.springframework.security:spring-security-web"
    compile "org.springframework.security:spring-security-config"
    compile "org.apache.commons:commons-collections4:4.1"
    compile "com.fasterxml.jackson.core:jackson-databind:2.9.10"
   compile "com.google.guava:guava:${guava_version}"
    compile(group: 'io.springfox', name: 'springfox-swagger2', version: '2.7.0') {
        exclude(module: 'guava')
    }
    compile "javax.cache:cache-api:1.1.0"
    compile "com.hhstechgroup.zoo:zoo-commons:${project.version}"
    compile "org.springframework.boot:spring-boot-starter-websocket"
    compile "org.springframework.boot:spring-boot-configuration-processor"
    compile "org.springframework.boot:spring-boot-starter-cache"
    compile "com.hazelcast:hazelcast-spring:3.12"
    compile "com.hazelcast:hazelcast-eureka-one:1.0.2"
    compile "org.reflections:reflections:0.9.11"
    testCompile project(':commons:commons-test')
}


test {
    dependsOn tasks.dockerRun
    finalizedBy tasks.dockerRemoveContainer
}

dockerRemoveContainer.dependsOn tasks.dockerStop

test.doFirst {
    systemProperty 'spring.rabbitmq.addresses', "localhost:" + port
}

buildDocker {
    dockerfile {
        contextDir = new File(project.buildDir, "libs")

        env ("EUREKA_HOST",                 "http://eureka:8888/config/eureka/")
        env ("SPRING_DATA_MONGODB_URI",     "mongodb://mongo:27017/?retryWrites=true")
        env ("SPRING_RABBITMQ_ADDRESSES",   "rabbit:5672")
        env ("SPRING_PROFILES_ACTIVE",      "prod")
        env ("TZ",                          "US/Eastern")

        expose (13080)

        add (project.file('providermgmt-server.sh'))
        add (project.getName() + '-' + project.getVersion() + '-boot.jar', '/' + project.getName() + '.jar')
        entrypoint (["/providermgmt-server.sh"])
        healthCheck (10, 5, 5, 360, 'curl -f 127.0.0.1:13080/api/providermgmt/actuator/health -s || exit 1')
    }

}

Comment From: sumit-gurav

@ConditionalOnProperty(name = "opentracing.spring.cloud.mongo.enabled", havingValue = "true", matchIfMissing = true)
public class MongoTracingAutoConfiguration extends MongoAutoConfiguration {

  private Tracer tracer;

  public MongoTracingAutoConfiguration(@Autowired(required = false) MongoProperties properties,
      ObjectProvider<MongoClientOptions> options, Environment environment, Tracer tracer) {
    super(properties, options, environment); //******* error Expected 0 arguments but found 3
    this.tracer = tracer;
  }

  @Override //***** error Method does not override method from its superclass
  public MongoClient mongo() {
    MongoClient mongo = super.mongo(); // **** Expected 3 arguments but found 0
    return new TracingMongoClient(tracer, mongo.getAllAddress(), mongo.getCredentialsList(), mongo.getMongoClientOptions());
  }
}

Comment From: wilkinsona

This appears to be a duplicate of #19575. MongoTracingAutoConfiguarion is sub-classing MongoAutoConfiguration (which it should no do at all) and the version of MongoAutoConfiguration that is available at runtime is not the same as the one that was used at compile time. You need to update the version of MongoTracingAutoConfiguration that you are using so that it is compatible with the version of Spring Boot that you are using. We have already made a suggestion on how to do that.

If you have any further questions, please follow up on Stack Overflow or Gitter. As mentioned in the guidelines for contributing, we prefer to use GitHub issues only for bugs and enhancements.

Comment From: sumit-gurav

thank you ....