Aka*_*ran 5 java spring jackson json-deserialization zoneddatetime
我com.fasterxml.jackson.core:jackson-annotations:2.6.0在我的gradle项目中使用.自从添加com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.0到我的项目构建文件后,我在运行gradle项目时遇到了这个异常.这是我的错误的堆栈跟踪.
引起:org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:构造函数抛出异常; 嵌套异常是java.lang.NoSuchMethodError:com.fasterxml.jackson.annotation.JsonFormat $ Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat $ Value; org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory .instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)... 117更多引起: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)org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553)org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)at org. springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)atg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.l ang.reflect.Constructor.newInstance(Constructor.java:422)at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)... 119 more嵌套在org.springframework.beans.factory.BeanCreationException:创建错误bean名称为'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter':bean的实例化失败; 嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:构造函数抛出异常; 嵌套异常是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 /杰克逊/注解/ JsonFormat $值; 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)org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:553)org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)at org. springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)atg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:187)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.l org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)中的ang.reflect.Constructor.newInstance(Constructor.java:422). 89)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)在org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)在1 org.springframework.beans.factory.support.AbstractBeanFactory $. org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.ge中的getObject(AbstractBeanFactory.java:306)tSingleton(DefaultSingletonBeanRegistry.java:230)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)位于org.springframework.context.support.AbstractApplicationContext的org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) .refresh(AbstractApplicationContext.java:538)org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)at org. org.mortbay.jetty.handler.ContextHandl上的springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)org.mortbay.jetty.servlet.Context.startContext(Context.java:136)中的or.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272)的or.startContext(ContextHandler.java:548) .mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)在org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489)在org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext .doStart(JettyPluginWebAppContext.java:112)在org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)在org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)在org.mortbay. jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)在org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)在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(HandlerW)rapper.java:130)org.mortbay.jetty.Server.doStart(Server.java:224)org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)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(AbstractJettyRunTask .java:191)atg.gradle.api.plugins.jetty.AbstractJettyRunTask.start(AbstractJettyRunTask.java:162)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java) :62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:497)在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod. java:75)at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.doExecute(Annotatio)orP.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ orT.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute( org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute(AbstractTask.java:585)org.gradle.api.internal.AbstractTask $ TaskActionWrapper.execute(AbstractTask.java:568)atg的ornotation.ProcessingTaskFactory.java:209 .gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)在org.gradle.api org.gra上的.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)dle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)位于org.gradle.api的org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58). internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute在org.gradle.api.internal.tasks(SkipEmptySourceFilesTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52).执行.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute( DefaultTaskGraphExecuter.java:203)在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)在org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWor ker.processTask(AbstractTaskPlanExecutor.java:66)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)org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java) :37)org.gradle.execution.DefaultBuildExecuter.access $ 000(DefaultBuildExecuter.java:23)org.gradle.execution.DefaultBuildExecuter $ 1.proceed(DefaultBuildExecuter.java:43)org.gradle.execution.DryRunBuildExecutionAction.execute( DryRunBuildExecutionAction.java:32)org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)org.gradle.initial ization.DefaultGradleLauncher $ 4.run(DefaultGradleLauncher.java:154)在org.gradle.internal.Factories $ 1,创建(Factories.java:22)在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)at org.gradle.initialization.DefaultGradleLauncher.access $ 200(DefaultGradleLauncher. java:32)org.gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:99)atg.gradle.initialization.DefaultGradleLauncher $ 1.create(DefaultGradleLauncher.java:93)at org.gradle.internal.progress.DefaultBuildOperationExecutor .run(DefaultBuildOperationExecutor.java:90)org.gradle.internal.progress.DefaultOperationExecutor.run(DefaultBuildOperationExecutor.java:62)org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLaunche)r.java:93)org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.run(InProcessBuildActionExecuter.java:94)at org.gradle.tooling .internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner .run(SubscribableBuildActionRunner.java:58)org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)at org. gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)at org.gradle.launcher.exec.ContinuousBuildActionExecuter.在org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)在org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly执行(ContinuousBuildActionExecuter.java:45). java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)在org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)在org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)在org.gradle .launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)在org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)在org.gradle.launcher.daemon org.gradle.launcher.daemo上的.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)位于org.gradle.util.Swapper的org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:72)的n.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:74).交换(Swapper.java:38)org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution. java:120)org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)org.gradle上的org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) .launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironm)ent.java:72)org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java: 120)在org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)在org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)在有机.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy.java:50)维持在org.gradle.internal org.gradle.launcher.daemon.server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:246) .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)java.lang上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617).Thread.run(Thread.java:745)
我用过没用过@JsonFormat的课.但我确实有JsonSerializer和JsonDeserializer注释使用两个类来串行化和反序列化我ZonedDateTime的UTC和Json.我是第一次进行序列化和反序列化,所以请提出任何建议.
这是我的gradle文件代码:
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" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13638 次 |
| 最近记录: |