【发布时间】:2017-05-19 01:40:57
【问题描述】:
我使用maven管理jar,我对mongodb的依赖如下:
<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-mongodb -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.5.RELEASE</version>
</dependency>
但是当我启动springmvc程序时,出现错误:
Caused by: java.lang.NoSuchFieldError: INSTANCE
at org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper.<init>(DefaultMongoTypeMapper.java:65)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.<init>(MappingMongoConverter.java:108)
at org.springframework.data.mongodb.config.AbstractMongoConfiguration.mappingMongoConverter(AbstractMongoConfiguration.java:192)
at com.aixueniao.server.configuration.MongoConfig$$EnhancerBySpringCGLIB$$ee562bf3.CGLIB$mappingMongoConverter$5(<generated>)
at com.aixueniao.server.configuration.MongoConfig$$EnhancerBySpringCGLIB$$ee562bf3$$FastClassBySpringCGLIB$$973f1472.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
at com.aixueniao.server.configuration.MongoConfig$$EnhancerBySpringCGLIB$$ee562bf3.mappingMongoConverter(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
... 85 more
谁能告诉我它有什么问题?也许依赖项的版本存在错误,但我该如何解决呢?提前致谢。
【问题讨论】:
-
是的,好像是jar冲突,也许你可以清理降级版本检查一下。
-
摆脱mongo java驱动依赖。 spring mongo db 依赖对 mongo java 驱动有传递依赖。当前的spring mongo发布版本只能支持2.x mongo驱动版本。如果您需要 3.x mongo 驱动程序支持,则需要使用 spring mongo 候选版本之一。
-
这是一个库版本冲突错误。将您的 spring-data-mongodb 降级到 1.7.2.RELEASE.it 会解决的。否则尝试应用排除
标签: java mongodb hibernate maven spring-mvc