升级 springboot 时 MongoCustomConversions 出现 NoClassDefFoundError
NoClassDefFoundError on MongoCustomConversions while upgrading springboot
我收到以下错误
java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.mongodb.core.convert.MongoCustomConversions
我正在升级 springboot 到 2.6.6,springframework 到 5.3.18,我还添加了 spring-data-mongodb 依赖版本: 3.3.3
详细堆栈跟踪:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.mongodb.core.convert.MongoCustomConversions
at org.springframework.boot.autoconfigure.data.mongo.MongoDataConfiguration.mongoCustomConversions(MongoDataConfiguration.java:63)
at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 75 more
spring pom 中的依赖项是:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.6.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.6.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>3.3.3</version>
</dependency>
and in properties file I have added :
<spring-data-commons.version>2.6.0</spring-data-commons.version>
<spring-data-mongodb.version>3.3.3</spring-data-mongodb.version>
<spring-boot.version>2.6.6</spring-boot.version>
<spring.version>${spring-boot.version}</spring.version>
您能否列出您程序中的所有依赖项,下面是我的 pom.xml 的片段,我可以毫无问题地使用 MongoCustomConversions。
Spring 开机:2.6.6
Spring 框架:5.3.18
spring-data-mongodb:3.3.3
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
....
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
您好,添加以下依赖项后,此错误已解决:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>4.6.0</version> </dependency`
这是最新的bson版本,您可以添加一个与您的其他依赖兼容的版本
我收到以下错误
java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.mongodb.core.convert.MongoCustomConversions
我正在升级 springboot 到 2.6.6,springframework 到 5.3.18,我还添加了 spring-data-mongodb 依赖版本: 3.3.3
详细堆栈跟踪:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.springframework.data.mongodb.core.convert.MongoCustomConversions at org.springframework.boot.autoconfigure.data.mongo.MongoDataConfiguration.mongoCustomConversions(MongoDataConfiguration.java:63) at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 75 more
spring pom 中的依赖项是:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.6.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.18</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
<version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.6.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>3.3.3</version>
</dependency>
and in properties file I have added :
<spring-data-commons.version>2.6.0</spring-data-commons.version>
<spring-data-mongodb.version>3.3.3</spring-data-mongodb.version>
<spring-boot.version>2.6.6</spring-boot.version>
<spring.version>${spring-boot.version}</spring.version>
您能否列出您程序中的所有依赖项,下面是我的 pom.xml 的片段,我可以毫无问题地使用 MongoCustomConversions。
Spring 开机:2.6.6 Spring 框架:5.3.18 spring-data-mongodb:3.3.3
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
....
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
您好,添加以下依赖项后,此错误已解决:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>4.6.0</version> </dependency`
这是最新的bson版本,您可以添加一个与您的其他依赖兼容的版本