Jackson annotation JsonFormat$Value json java.lang.NoSuchMethodError
<p>I am using <code>com.fasterxml.jackson.core:jackson-annotations:2.6.0</code> in my gradle project. Since adding <code>com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.0</code> to my project build file I have been getting this exception while running my gradle project. Here is the stack trace of my error.</p>

<blockquote>
  <p>Caused by: org.springframework.beans.BeanInstantiationException:
  Failed to instantiate
  [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:
  Constructor threw exception; nested exception is
  java.lang.NoSuchMethodError:
  com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
    at
  org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
    at
  org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
    at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)
    ... 117 more Caused by: java.lang.NoSuchMethodError:
  com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
    at
  com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:50)
    at
  com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535)
    at
  com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:452)
    at
  org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553)
    at
  org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)
    at
  org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)
    at
  org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
  Method)   at
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at
  org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
    ... 119 more Nested in
  org.springframework.beans.factory.BeanCreationException: Error
  creating bean with name
  'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter':
  Instantiation of bean failed; nested exception is
  org.springframework.beans.BeanInstantiationException: Failed to
  instantiate
  [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:
  Constructor threw exception; nested exception is
  java.lang.NoSuchMethodError:
  com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value;:
  java.lang.NoSuchMethodError:
  com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
    at
  com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:50)
    at
  com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535)
    at
  com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:452)
    at
  org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553)
    at
  org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)
    at
  org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)
    at
  org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
  Method)   at
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at
  org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
    at
  org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
    at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)
    at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)
    at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
    at
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at
  org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at
  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at
  org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at
  org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at
  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
    at
  org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
    at
  org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
    at
  org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
    at
  org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
    at
  org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at
  org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at
  org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)
    at
  org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at
  org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)
    at
  org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext.doStart(JettyPluginWebAppContext.java:112)
    at
  org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at
  org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at
  org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
    at
  org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at
  org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
    at
  org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at
  org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)    at
  org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at
  org.gradle.api.plugins.jetty.internal.Jetty6PluginServer.start(Jetty6PluginServer.java:111)
    at
  org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal(AbstractJettyRunTask.java:238)
    at
  org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty(AbstractJettyRunTask.java:191)
    at
  org.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)     at
  org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)     at
  org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
    at
  org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
    at
  org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
    at
  org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
    at
  org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
    at
  org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at
  org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    at
  org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at
  org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at
  org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at
  org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at
  org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    at
  org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at
  org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at
  org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at
  org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at
  org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at
  org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at
  org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at
  org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at
  org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at
  org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at
  org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at
  org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at
  org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at
  org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at
  org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at
  org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at
  org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)    at
  org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at
  org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at
  org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at
  org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at
  org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at
  org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at
  org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at
  org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at
  org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at
  org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at
  org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at
  org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)
    at
  org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at
  org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)
    at
  org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at
  org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at
  org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at
  org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at
  org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
    at
  org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
    at
  org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
    at
  org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
    at org.gradle.util.Swapper.swap(Swapper.java:38)    at
  org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
    at
  org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
    at
  org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
    at
  org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at
  org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
    at
  org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at
  org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
    at
  org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
    at
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)</p>
</blockquote>

<p>I have used not used <code>@JsonFormat</code> in my class. But I do have <code>JsonSerializer</code> and <code>JsonDeserializer</code> annotations using two classes for serializing and deserializing my <code>ZonedDateTime</code> to and from Json in UTC. I am doing this Serialization and deserialization for first time so please give any suggestions.</p>

<p>Here is my gradle file code:</p>

<pre><code>apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'jetty' apply plugin: 'maven' apply plugin: 'war'

ext {  springVersion = "4.2.4.RELEASE"  springSecurityVersion = "4.0.3.RELEASE" }

repositories {      mavenLocal()    mavenCentral()
     /* maven {
        url "http://repo.typesafe.com/typesafe/releases/"
    } */ }

configurations.all {    exclude group: "commons-logging", module: "commons-logging"    exclude group: "log4j", module: "log4j" }

dependencies {    compile 'org.slf4j:jcl-over-slf4j:1.7.12'    compile 'ch.qos.logback:logback-classic:1.1.3'    compile "org.springframework:spring-core:$springVersion"    compile "org.springframework:spring-context:$springVersion"
        compile ("org.springframework:spring-web:$springVersion"){
       exclude group: "com.fasterxml.jackson.core"    }    compile ("org.springframework:spring-webmvc:$springVersion"){
       exclude group: "com.fasterxml.jackson.core"    }    compile "org.springframework:spring-orm:$springVersion"    compile "org.springframework.security:spring-security-web:$springSecurityVersion" compile "org.springframework.security:spring-security-config:$springSecurityVersion"
       compile "org.aspectj:aspectjrt:1.7.4"

   compile "org.hibernate:hibernate-core:4.3.6.Final"        compile "org.hibernate:hibernate-entitymanager:4.3.6.Final"    compile "javax.servlet:javax.servlet-api:3.1.0"    compile "org.javassist:javassist:3.15.0-GA"    compile "mysql:mysql-connector-java:5.1.31"
       compile "org.hsqldb:hsqldb:2.3.2"
       compile "commons-dbcp:commons-dbcp:1.2.2"    compile "org.apache.commons:commons-lang3:3.4"      compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.0'    compile 'com.fasterxml.jackson.core:jackson-core:2.7.0'    compile 'com.fasterxml.jackson.core:jackson-databind:2.7.0'    compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.7.0'

       compile "net.sf.ehcache:ehcache-core:2.6.9"    compile "org.hibernate:hibernate-ehcache:4.3.5.Final"    compile "com.h2database:h2:1.4.177"    compile "com.google.code.gson:gson:2.6.2" 
       testCompile ("junit:junit:4.12"){
        exclude group: "org.hamcrest"    }    testCompile "org.springframework:spring-test:$springVersion"    testCompile "org.easetech:easytest-core:1.4.0"    testCompile "org.mockito:mockito-core:1.9.5"    testCompile "org.hamcrest:hamcrest-all:1.3"    testCompile "com.jayway.jsonpath:json-path:2.2.0"    testCompile "com.jayway.jsonpath:json-path-assert:2.2.0"
       testRuntime "org.hsqldb:hsqldb:2.3.2"  }
</code></pre>