我想创建一个Web应用程序,它将使用neo4j和Spring数据。我正在使用Maven来处理依赖关系和构建,但由于spring-data-neo4j的依赖关系,我在这方面遇到了麻烦。
当我包含spring-data-Neu4j时,它包含了javax.validation,但是当包含它时,我在使用<mvc:annotation-driven />获取@控制器和@RequestMapping注释时遇到了问题,这导致了这个问题:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is javax.validation.ValidationException: Unable to find a default provider如果将javax.validation作为依赖项从spring-data-neo4j中排除,则在尝试访问Neo4jTemplate时会出现验证器错误
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.data.neo4j.support.Neo4jTemplate org.neuralsandbox.controllers.IndexController.neo4jTemplate; nested exception is java.lang.NoClassDefFoundError: javax/validation/Validator有没有办法解决这个问题?
发布于 2012-04-22 17:00:52
一种可能的选择是向类路径中添加一个javax.validation实现(比如Hibernate Validator),尤其是当您真正需要javax.validation功能时。
如果您不需要javax.validation,您应该能够通过创建一个虚拟org.springframework.validation.Validator并将其配置为<mvc:annotation-driver validator = "..." />来抑制此错误。
发布于 2013-05-29 21:36:18
似乎存在对验证api的运行时依赖。它通过简单地添加以下运行时依赖项解决了我的问题。
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
<scope>runtime</scope>
</dependency>希望这也能解决你的问题。
https://stackoverflow.com/questions/10266047
复制相似问题