2012-10-01 5 views
3

저는 Spring 3.0을 사용하고 있습니다. 나는 최대 절전 모드 나 메이븐 의존성을 사용하지 않는다. jar 파일을 다운로드하여 클래스 경로에 추가했습니다. javax.validation.ValidationException이 발생했습니다. 이 문제를 연구 한 후 클래스 패스에 hibernate-core-3.5.6.jar과 slf4-api.1.4.3.jar 파일을 포함 시켰습니다.SpringMvc - javax.validation.ValidationException

오류 로그는

2073 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR org.springframework.web.servlet.DispatcherServlet - Context initialization failed 
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 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:212) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734) 
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1284) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1382) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1389) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1653) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1662) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1642) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: javax.validation.ValidationException: Unable to find a default provider 
    at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264) 
    at org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:184) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) 
    ... 29 more 

답변

9

당신은 hibernate-validator library jar을 포함해야합니다.

Hibernate Validator (버전 4.x 이상)은 javax.validation.constraints (JSR-303 주석이라고도 함)의 참조 구현입니다.
이름에도 불구하고이 라이브러리는 데이터베이스 및 관계형 매핑과 아무 관련이 없으며 유효성 검사 만 수행합니다.

내가 같은 문제가 없었다
+0

을했다 : org.springframework.beans.factory를 .BeanCreationException : 이름이 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean # 0'인 bean을 생성하는 중 오류가 발생했습니다 : init 메소드를 호출하지 못했습니다. 중첩 예외는 javax.validation.ValidationException : 기본 공급자를 찾을 수 없습니다. applicationContext.xml에 bean을 지정해야합니까? – devdar

+0

@dev_darin 어떤 버전의 hibernate-validator를 사용하고 있습니까? –

+0

나는 그것을 확인하고 있는데 3.0을보고 있는데 4.0과 그 이전 버전을 사용해야합니까? – devdar

0

... 난이 있었다 BU 유효성 검사를 사용하지 않았다

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

하는 JSR 303 (콩 검증)의 구현이 최대 절전 모드 - 검증 종속성을 추가합니다.

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.2.0.Final</version> 
    </dependency> 
0

나는 pom.xml 파일의 종속성으로 최대 절전 모드 - 유효성 검사기를 추가 그것은 내가 최대 절전 모드 - validator.jar는 포함 않았다하지만 난 여전히 다음과 같은 오류를 얻고있다

관련 문제