Jackson Annotations JsonFormat $ json java.lang.NoSuchMethodError Value

I am using com.fasterxml.jackson.core:jackson-annotations:2.6.0 in my gradle project. Since adding com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.0 to my project build file, I get this exception when starting my gradle project. Here is the stack trace of my error.

Called: org.springframework.beans.BeanInstantiationException: Failed to instantiate [Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Constructor throws an exception; nested exception java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation.JsonFormat $ Value.empty () Lcom / fasterxml / jackson / annotations / JsonFormat $ Value; in org.springframework.beans.BeanUtils.instantiateClass (BeanUtils.java:163) in org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:89) in org.springframework.beans.factorybuta.bory.factorybut.b .instantiateBean (AbstractAutowireCapableBeanFactory.java:1098) ... 117 more Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation.JsonFormat $ Value.empty () Lcom / fasterxml / jackson / annotations / JsonForm; in com.fasterxml.jackson.databind.cfg.MapperConfig. (MapperConfig.java:50) in com.fasterxml.jackson.databind.ObjectMapper. (ObjectMapper.java∗35) in com.fasterxml.jackson.databind.ObjectMapper. (ObjectMapper.java:452) in org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build (Jackson2ObjectMapperBuilder.java//53) in org.springframework.http.converter.json.MappingJackson2Httpess (MappingJackson2HttpMessageConverter.java:57) in org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter. (AllEncompassingFormHttpMessageConverter.java:61) in org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter. (RequestMappingHandlerAdapter.java:187) at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) with sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.Allect.AlavaCent.leavaConnection.leava.62avaccess.leavalectorlelectating.leavaccess62 java.lang.reflect.Constructor.newInstance (Constructor.java:422) in org.springframework.beans.BeanUtils.instantiateClass (BeanUtils.java:147) ... 119 more Nested in org.springframework.beans.factory.BeanCreationException: error creating bean named 'Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Error creating bean; nested exception org.springframework.beans.BeanInstantiationException: could not be illustrated with examples [Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: The constructor threw an exception; nested exception java.lang.NoSuchMethodError: com.fasterxml.jackson.annotation.JsonFormat $ Value.empty () Lcom / fasterxml / jackson / annotations / JsonFormat $ Value ;: java.lang.NoSuchMethodError: com.fasterxml.jackson. JsonFormat $ Value.empty () Lcom / fasterxml / jackson / annotations / JsonFormat $ Value; in com.fasterxml.jackson.databind.cfg.MapperConfig. (MapperConfig.java:50) in com.fasterxml.jackson.databind.ObjectMapper. (ObjectMapper.java∗35) in com.fasterxml.jackson.databind.ObjectMapper. (ObjectMapper.java:452) in org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build (Jackson2ObjectMapperBuilder.java//53) in org.springframework.http.converter.json.MappingJackson2Httpess (MappingJackson2HttpMessageConverter.java:57) in org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter. (AllEncompassingFormHttpMessageConverter.java:61) in org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter. (RequestMappingHandlerAdapter.java:187) at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method) with sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.Allect.AlavaCent.leavaConnection.leava.62avaccess.leavalectorlelectating.leavaccess62 java.lang.reflect.Constructor.newInstance (Constructor.javarige22) in org.springframework.beans.BeanUtils.instantiateClass (BeanUtils.java:147) in org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (Simple java: 89) in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean (AbstractAutowireCapableBeanFactory.java:1098) in org.springframework.beans.factory.support.AbstractAutowireCapableeapableeapaneablebapenteuppanteuppanteuppenteuppanteuppanteuppanteuppanteuppenteapentanutapreanabapeanutapreanabapeanutapreanabapeanutapreanutapreanutap .beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAu towireCapableBeanFactory.java//10) in org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java-00-0082) in org.springframework.beans.factory.suppeA org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) in org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:30. support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197) in org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.fava 839) in org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.j ava: 538) in org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:446) in org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.javaprf.web.supply32 .ContextLoaderListener.contextInitialized (ContextLoaderListener.java:107) in org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java//48) at org.mortbay.jetty.servlet.Context.startContext (context.java org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1272) in org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.javahaps17) in org.mortbay.jetty.webapp.Webdoartppon WebAppContext.java:489) in org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext.doStart (JettyPluginWebAppContext.java:112) in org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCaycle.) .jetty.handler.HandlerCollection.doStart (HandlerCollection.java:152) in org.mortbay.jetty.handler.ContextHandlerCollection.doStart (ContextHandlerCollection.java:156) in org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) in org.mortbay.jetty.handler.HandlerCollection .java: 152) in org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) in org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:130) on org.mortbay.jetty.Server. doStart (Server.java:224) in org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) in org.gradle.api.plugins.jetty.internal.Jetty6PluginServer.start (Jetty6PluginServer.java:111 org .gradle.api.plugins.jetty.AbstractJettyRunTask.startJettyInternal (AbstractJettyRunTask.java:238) at org.gradle.api.plugins.jetty.AbstractJettyRunTask.startJetty (AbstractJettyRunTaskjava.gj1919 .AbstractJettyRunTask.start (AbstractJettyRunTask.java:162) at sun.reflect.NativeMethodAccessorImpl.invoke0 (On implicit method) in sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) in sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) in java.lang.reflect.Method.inoke at org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:75) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.doExecute (AnnotationProcessingTaskFactory.java:227) org.g .internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute (AnnotationProcessingTaskFactory.java:220) in org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.executejnot Anagnation.Online .internal.AbstractTask $ TaskActionWrapper.execute (AbstractTask.java∗85) at org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute (AbstractTask.java UP68) at org.gradle.api.internal.tasks.execution .ExecuteActionsTaskExecuter.executeAction (ExecuteActionsTaskExecuter.java:80) in org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:61) in org.gradle.api.inecececasks.ecececececasks (ExecuteActionsTaskExecuter.java:46) in org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute (PostExecutionAnalysisTaskExecuter.java:35) in org.gradle.api.internal.tasks.exececution.SkipUpTateTateTateTateTateTateTateTateTateTateTate : 64) in org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute (ValidatingTaskExecuter.java:58) in org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute (SkipEmptySecFjask org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute (SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute (SkipOnl yIfTaskExecuter.java:53) in org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute (ExecuteAtMostOnceTaskExecuter.java:43) in org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFexTaskTecGecask in org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:185) in org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWorker.processTask (AbstractTaskProcessExecececececececececececececececececececececececececececececececececececec .AbstractTaskPlanExecutor $ TaskExecutorWorker.run (AbstractTaskPlanExecutor.java:50) in org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process (DefaultTaskPlanExecutor.java:25) in org.gradle.execution.taskgraph.DefaultTaskGecectecaskGececececececececececec ) in org.gradle.execution.SelectedTaskExecutionAction.execute (SelectedTaskExecutionAction.java:37) in org.gradle.execution.DefaultBuildExecuter.ex ecute (DefaultBuildExecuter.java:37) in org.gradle.execution.DefaultBuildExecuter.access $ 000 (DefaultBuildExecuter.java:23) in org.gradle.execution.DefaultBuildExecuter $ 1.proceed (DefaultBuildExecuter.java:43) in org.gradle.execution .DryRunBuildExecutionAction.execute (DryRunBuildExecutionAction.java:32) in org.gradle.execution.DefaultBuildExecuter.execute (DefaultBuildExecuter.java:37) in org.gradle.execution.DefaultBuildExecuter.execute (org.Build:30 initialization.DefaultGradleLauncher $ 4.run (DefaultGradleLauncher.java:154) at org.gradle.internal.Factories $ 1.create (Factories.java:22) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationEx90utorjava in org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:52) in org.gradle.initialization.DefaultGradleLauncher.doBuildStages (DefaultGradleLauncher.java:151) in org.gradle.initialleLefault er.access $ 200 (DefaultGradleLauncher.java:32) at org.gradle.initialization.DefaultGradleLauncher $ 1.Create (DefaultGradleLauncher.java:99) at org.gradle.initialization.DefaultGradleLauncher $ 1.Create (DefaultGradleLa93her orgjava. gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:90) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:62) in org.gradle.initialization.DefaultDefGleldleldradledleldlelegrald 93) in org.gradle.initialization.DefaultGradleLauncher.run (DefaultGradleLauncher.java:82) in org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.run (InProcessBuildActionExecuter.java:94) in org.gradleternal .runner.BuildModelActionRunner.run (BuildModelActionRunner.java:46) at org.gradle.launcher.exec.ChainingBuildActionRunner.run (ChainingBuildActionRunner.java:35) at org.gradle.tooling.internal.provider.rr unner.SubscribableBuildActionRunner.run (SubscribableBuildActionRunner.java:58) at org.gradle.launcher.exec.ChainingBuildActionRunner.run (ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.InPExuterBuctionlect in org.gradle.launcher.exec.InProcessBuildActionExecuter.execute (InProcessBuildActionExecuter.java:28) in org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute (ContinuousBuildActionExecuter.java:75) in org.gradle.underclun (ContinuousBuildActionExecuter.java:45) in org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild (ExecuteBuild.java:52) in org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute (BuildCommava : 36) in org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) in org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute (WatchForDisconnection.java: 37) in org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) in org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute (ResetDeprecationL26ger orgava .gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) in org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute (RequestStopIfalesemuleg orggl .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.ja va: 120) in org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute (DaemonHealthTracker.java:47) in org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandEx20ution) in org.gradle.launcher.daemon.server.exec.LogToClient.doBuild (LogToClient.java:66) in org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute (BuildCommandOnly.java:36) in org.gradle .launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild (EstablishBuildEnvironment.javaradleonorg) .server.exec.BuildCommandOnly.execute (BuildCommandOnly.java:36) in org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) in org.gradle.launcher.heemon.s .HintGCAfterBuild.execute (HintGCAfterBuild.java:41) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCom mandExecution.java:120) in org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run (StartBuildOrRespondWithBusy.java:50) in org.gradle.launcher.daemon.server.DaemonStateCoordinator $ 246) in org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:54) in org.gradle.internal.concurrent.StoppableExecutorImpl $ 1.run (StoppableExecutorImpl.java:40) in java.util.con ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) in java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) in java.lang.Thread.run (Thread.java:745)

I used unused @JsonFormat in my class. But I have JsonSerializer and JsonDeserializer , using two classes to serialize and deserialize my ZonedDateTime in Json and from Json to UTC. I am doing serialization and deserialization for the first time, so please give any suggestions.

Here is my gradle file 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" } 
+5
source share
3 answers

I clarified my problem when I just tried to run the task - gradle clean. I think so far some of the old dependencies of the project have been delayed. It is just a matter of cleaning up the project. Now the project is working fine. :)

+2
source

Check project dependencies. You may be using incompatible versions of libraries. Version 2.7 has an empty () method and not version 2.6.

http://fasterxml.imtqy.com/jackson-annotations/javadoc/2.6/com/fasterxml/jackson/annotation/JsonFormat.Value.html

http://fasterxml.imtqy.com/jackson-annotations/javadoc/2.7.0-rc1/com/fasterxml/jackson/annotation/JsonFormat.Value.html

Try upgrading to version 2.7.

+11
source

This is an alternative solution for those already set by @ BeñatBermejo and @AkashRaveendran above. I am glad that Akash was able to make his system work by simply cleaning the environment, but I found that in my case this is not enough.

The error came from the jackson-databind, which I had in my version 2.8.1. However, since I also have Spring, the dependencies on Jackson-databind, namely jackson-core, are still at 2.6.6.

All I had to do was remove the version specifier in my jsonson-databind dependency. When I did this, Maven instead used a version called Spring, 2.6.6, which did not include a call to JsonFormat $ Value.empty ().

If you need some jackson 2.7+ features, you can try specifying a higher version of jackson-core and any other dependencies of the jackson artifact that you are trying to use.

However, with Spring, I would either see if you can get around the bottom version of Jackson that he calls, or see if Spring can release a new version that includes the newer jackson libraries. Reconfiguring the Spring dependency structure undermines one of the biggest reasons for using Spring in the first place: you get a more fully tested set of interrelated dependencies for building right out of the box.

0
source

Source: https://habr.com/ru/post/1247347/


All Articles