Java Spring启动父启动器依赖项覆盖
因此,当前版本没有使用我需要使用的spring data mongodb 2.1.0 问题是每次我只是通过添加Java Spring启动父启动器依赖项覆盖,java,spring,mongodb,spring-boot,spring-data-mongodb,Java,Spring,Mongodb,Spring Boot,Spring Data Mongodb,因此,当前版本没有使用我需要使用的spring data mongodb 2.1.0 问题是每次我只是通过添加 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>2.1.1.RELEASE</version> </
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
org.springframework.data
spring数据mongodb
2.1.1.1发布
我最终得到一个编译错误:
org.springframework.beans.factory.BeanCreationException:错误
正在创建类中定义的名为“ServletEndPointRegister”的bean
路径资源
[org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]:
通过工厂方法实例化Bean失败;嵌套异常是
org.springframework.beans.BeanInstantiationException:未能
实例化
[org.springframework.boot.actuate.endpoint.web.servletendpointregistrator]:
工厂方法“servletEndpointRegistrar”引发异常;嵌套
例外情况为org.springframework.beans.factory.BeanCreationException:
创建在类路径中定义了名为“healthEndpoint”的bean时出错
资源
[org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.class]:
通过工厂方法实例化Bean失败;嵌套异常是
org.springframework.beans.BeanInstantiationException:未能
实例化[org.springframework.boot.actuate.health.HealthEndpoint]:
工厂方法“healthEndpoint”引发异常;嵌套异常是
org.springframework.beans.factory.unsatifiedDependencyException:
创建名为的bean时出错
'org.springframework.boot.actuate.autoconfigure.mongo.MongoHealthIndicatorConfiguration':
通过构造函数参数0表示的未满足依赖关系;
嵌套异常是
org.springframework.beans.factory.unsatifiedDependencyException:
创建在类路径中定义了名称为“mongoTemplate”的bean时出错
资源
[org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.class]:
通过方法“mongoTemplate”表示的未满足的依赖关系
参数1;嵌套异常是
org.springframework.beans.factory.unsatifiedDependencyException:
创建类中定义了名为“mappingMongoConverter”的bean时出错
路径资源
[org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.class]:
通过方法表示的未满足依赖关系
“mappingMongoConverter”参数1;嵌套异常是
org.springframework.beans.factory.BeanCreationException:错误
创建名为“mongoMappingContext”的bean(在类路径中定义)
资源
[org/springframework/boot/autoconfigure/data/mongo/MongoDataAutoConfiguration.class]:
bean初始化失败;嵌套异常是
java.lang.NoSuchMethodError:
org.springframework.data.mapping.context.AbstractMappingContext.setApplicationContext(Lorg/springframework/context/ApplicationContext;)V
AbstractMappingContext
的API在较新版本中已更改,因此与当前的spring启动版本不兼容
我建议您将整个spring引导版本升级到适合您所需的spring data mongo版本的版本
编辑:
恐怕2.1.1版本还不支持spring引导。最新版本是使用
org.springframework.data:spring data mongodb:2.0.11.RELEASE
在较新版本中,AbstractMappingContext
的API已更改,因此与当前的spring启动版本不兼容
我建议您将整个spring引导版本升级到适合您所需的spring data mongo版本的版本
编辑:
恐怕2.1.1版本还不支持spring引导。最新的版本是使用org.springframework.data:spring数据mongodb:2.0.11.RELEASE
引用书籍第37页:
…重写拉入的依赖项时要小心
通过Spring引导启动器依赖项传递。虽然不同
版本可能会很好地工作,可以提供大量的舒适性
了解到初学者选择的版本已经
一起玩得很好。您应该只覆盖这些
特殊情况下的可传递依赖项(例如错误修复
在更新的版本中)
我个人不会冒这样的风险重写spring数据mongodb
版本
如果您真的需要使用最新版本的spring data mongodb,我建议将spring Boot升级到。引用本书第37页:
…重写拉入的依赖项时要小心
通过Spring引导启动器依赖项传递。虽然不同
版本可能会很好地工作,可以提供大量的舒适性
了解到初学者选择的版本已经
一起玩得很好。您应该只覆盖这些
特殊情况下的可传递依赖项(例如错误修复
在更新的版本中)
我个人不会冒这样的风险重写spring数据mongodb
版本
如果您确实需要使用最新版本的
spring data mongodb
,我建议按照@Boris answer将spring Boot升级到。,如果您执行以下操作,您可以证明他是正确的。
到这里:
选择以下选项:
创建项目演示。
如果您随后展开并导入Intellij,然后获取有效的POM并搜索原始需求,您将发现这是一个比原始需求高出一个版本的版本。
如果有一个网站显示了Spring boot版本的所有修订组合,那就太好了……如果有人知道,请添加到这个网站。谢谢
根据@Boris的回答,如果你做了以下事情,你可以证明他是正确的。 到这里: 选择以下选项: 创建项目演示。 如果你再扩展