我用Spring MVC5和Java8创建了一个POC来支持gson,而不是jackson,但不使用Spring Boot。
参考教程
即使在从pom.xml中删除jackson绑定支持并使用gson之后,也会出现错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException
Caused by: java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.4</version>
</dependency>
@Bean
public AbstractJsonHttpMessageConverter customConverters() {
Collection<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
messageConverters.add(gsonHttpMessageConverter);
return gsonHttpMessageConverter;
}
Dependency Graph
[INFO] +- com.oracle:ojdbc6:jar:11.2.0.3:compile
[INFO] +- com.google.code.gson:gson:jar:2.8.4:compile
[INFO] +- org.springframework:spring-core:jar:5.0.7.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.0.7.RELEASE:compile
[INFO] +- org.hibernate:hibernate-core:jar:5.2.11.Final:compile
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] | +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] | +- antlr:antlr:jar:2.7.7:compile
[INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.1.Final:compile
[INFO] | +- org.jboss:jandex:jar:2.0.3.Final:compile
[INFO] | +- com.fasterxml:classmate:jar:1.3.0:compile
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] +- org.springframework:spring-web:jar:5.0.7.RELEASE:compile
[INFO] | \- org.springframework:spring-beans:jar:5.0.7.RELEASE:compile
[INFO] +- org.springframework:spring-jdbc:jar:5.0.7.RELEASE:compile
[INFO] +- org.springframework:spring-tx:jar:5.0.7.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:5.0.7.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.0.7.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:5.0.7.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:5.0.7.RELEASE:compile
[INFO] +- org.springframework:spring-orm:jar:5.0.7.RELEASE:compile
[INFO] +- org.springframework:spring-test:jar:5.0.7.RELEASE:test
[INFO] +- org.springframework.data:spring-data-jpa:jar:2.0.8.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-commons:jar:2.0.8.RELEASE:compile
[INFO] | \- org.aspectj:aspectjrt:jar:1.8.13:compile
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
[INFO] +- log4j:log4j:jar:1.2.17:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.5:test
[INFO] +- org.slf4j:slf4j-api:jar:1.7.5:compile
[INFO] +- org.hibernate:hibernate-validator:jar:4.3.2.Final:compile
[INFO] +- javax.validation:validation-api:jar:1.1.0.Final:provided
[INFO] +- org.apache.commons:commons-lang3:jar:3.7:compile
[INFO] \- junit:junit:jar:4.12:test
[INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test
可能@Triplem早些时候给出的参考答案会对您有所帮助。它使用的是Spring5.0而不是Spring Boot。
我试图在SpringMVC中运行SpringBoot应用程序,在SpringMVCPOM中添加SpringBoot应用程序依赖项,并扫描SpringBoot包,但我面临以下问题
不是复制品-我试图遵循JDK8java.time?是否有jackson数据类型模块中给出的解决方案(这是这个问题的原因,不是复制品)。 我加了 但我还是做不到: 找不到类。我做错了什么?
我想在spring boot应用程序中使用像Genson这样的JSON处理器。 当您使用或时,由于这两个库的Spring引导自动配置,您非常舒适。 在这个链接中,有一个很好的指南,可以将替换为。 为了解决我的问题,我创建了和bean但是我应该怎么做才能将这行添加到我的配置中呢? 我需要做除上述之外的任何事情来用库替换吗?
我正面临“调用quit()后FirefoxDriver无法使用”的问题。请帮助。 请帮忙
问题内容: 我在这里有一个界面 这是一种实现 并且有一类依赖于Idemo 现在说我要测试Sample类 这里没有创建Sample实例,并且s保持为null。我想这是因为当执行到达指定绑定的行时,已经创建了该测试类。但是我不确定。使用Spring Autowired而不是jersey CDI相同的作品 如果Sample是资源/控制器类,那么测试框架可以创建它的实例而无需注入它,但是是否可以使用Jer
我对整个Java生态系统还是个新手,我已经花了几个小时的时间来获得一个外部依赖者来与Intellij一起工作。我使用一个简单的Java应用程序,它包含一个,其中包含: 包含对com.google.guava的依赖项(必需),如下所示: 每当我尝试调试时,都会得到无法加载的错误。我还尝试克隆https://github.com/tfnico/guava-example(将Java版本更新为受支持的版