首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring MVC与javax.validation的问题

Spring MVC与javax.validation的问题
EN

Stack Overflow用户
提问于 2012-04-22 15:28:12
回答 2查看 6.1K关注 0票数 2

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

当我包含spring-data-Neu4j时,它包含了javax.validation,但是当包含它时,我在使用<mvc:annotation-driven />获取@控制器和@RequestMapping注释时遇到了问题,这导致了这个问题:

代码语言:javascript
复制
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时会出现验证器错误

代码语言:javascript
复制
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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-22 17:00:52

一种可能的选择是向类路径中添加一个javax.validation实现(比如Hibernate Validator),尤其是当您真正需要javax.validation功能时。

如果您不需要javax.validation,您应该能够通过创建一个虚拟org.springframework.validation.Validator并将其配置为<mvc:annotation-driver validator = "..." />来抑制此错误。

票数 3
EN

Stack Overflow用户

发布于 2013-05-29 21:36:18

似乎存在对验证api的运行时依赖。它通过简单地添加以下运行时依赖项解决了我的问题。

代码语言:javascript
复制
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
    <scope>runtime</scope>
</dependency>

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10266047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档