Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven SpringMVC与javax.validation的问题_Maven_Spring Mvc_Neo4j_Spring Data - Fatal编程技术网

Maven SpringMVC与javax.validation的问题

Maven SpringMVC与javax.validation的问题,maven,spring-mvc,neo4j,spring-data,Maven,Spring Mvc,Neo4j,Spring Data,我想创建一个使用neo4j和Spring数据的Web应用程序。我正在使用Maven来处理依赖关系和构建,但由于spring-data-neo4j的依赖关系,我在这方面遇到了麻烦 当我包含spring-data-neo4j时,它包含了javax.validation,但是当我包含它时,我在使用获取@Controller和@RequestMapping注释时遇到了问题,这导致了这个问题: org.springframework.beans.factory.BeanCreationException:

我想创建一个使用neo4j和Spring数据的Web应用程序。我正在使用Maven来处理依赖关系和构建,但由于
spring-data-neo4j
的依赖关系,我在这方面遇到了麻烦

当我包含spring-data-neo4j时,它包含了
javax.validation
,但是当我包含它时,我在使用
获取@Controller和@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

有没有办法解决这个问题?

一个可能的选择,特别是当您实际需要
javax.validation
功能时,就是将
javax.validation
的实现(例如Hibernate Validator)添加到类路径中


如果您不需要
javax.validation
,您应该能够通过创建一个虚拟
org.springframework.validation.Validator
并将其配置为

来抑制此错误,因为它似乎与验证api存在运行时依赖关系。它通过简单地添加以下运行时依赖项解决了我的问题

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
    <scope>runtime</scope>
</dependency>

javax.validation
验证api
1.1.0.1最终版本
运行时

希望这也能解决您的问题。

我不需要
javax.validation
,但是
spring-data-neo4j
需要,但是我可能会选择您的解决方案,包括
javax.validation
然后为
滚动我自己的
Validator
来选择验证依赖项,但我认为这更为棘手。感谢您的响应,我的解决方案是添加Hibernate验证器,然后一切都好起来了。你不知道这对我来说有多重要。非常感谢。