web-dev-qa-db-ja.com

ValidationException:デフォルトのプロバイダーが見つかりません

私はスタックオーバーフローでこれのための3つのエントリを見つけました:

javax.validation.ValidationException:デフォルトプロバイダーが見つかりません

javax.validation.ValidationException:デフォルトのプロバイダーが見つかりません

Spring MVC 3検証-デフォルトプロバイダーが見つかりません

そして3つすべてが、クラスパスに休止状態のバリデーターを追加すると言っています。それを実行しても同じエラーが発生する場合はどうすればよいですか?

1301 [main] ERROR org.springframework.web.servlet.DispatcherServlet - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/db.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory
    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:567)
    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:241)
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.Java:433)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.Java:256)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:39)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.Java:616)
    at org.mortbay.jetty.servlet.Context.startContext(Context.Java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.Java:1220)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.Java:513)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.Java:448)
    at com.google.gwt.dev.Shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.Java:468)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.Java:130)
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.Java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.Java:130)
    at org.mortbay.jetty.Server.doStart(Server.Java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.Java:39)
    at com.google.gwt.dev.Shell.jetty.JettyLauncher.start(JettyLauncher.Java:672)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.Java:509)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.Java:1068)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.Java:811)
    at com.google.gwt.dev.DevMode.main(DevMode.Java:311)
Caused by: org.hibernate.HibernateException: Unable to get the default Bean Validation factory
    at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.Java:127)
    at org.hibernate.cfg.Configuration.applyBeanValidationConstraintsOnDDL(Configuration.Java:1674)
    at org.hibernate.cfg.Configuration.applyConstraintsToDDL(Configuration.Java:1624)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.Java:1415)
    at org.hibernate.cfg.Configuration.buildMappings(Configuration.Java:1345)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.Java:717)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.Java:211)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.Java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.Java:1452)
    ... 37 more
Caused by: Java.lang.reflect.InvocationTargetException
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:601)
    at org.hibernate.cfg.beanvalidation.BeanValidationActivator.applyDDL(BeanValidationActivator.Java:118)
    ... 45 more
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory
    at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.Java:345)
    at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.Java:106)
    ... 50 more
Caused by: javax.validation.ValidationException: Unable to find a default provider
    at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.Java:264)
    at javax.validation.Validation.buildDefaultValidatorFactory(Validation.Java:111)
    at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.Java:342)
    ... 51 more
12
Thom

春のフォーラムは私を助けてくれました。 http://forum.springsource.org/showthread.php?124477-ValidationException-Unable-to-find-a-default-provider

Hibernate3.6.xと関係があります。 Hibernate 3.5.6-Finalにダウングレードしましたが、チャームのように機能します。

すべての助けに感謝します。

2
Thom

JSR 303(Bean Validation)を実装したHibernate-validator依存関係を追加します。

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

プロバイダーサイトからダウンロードしたZipアーカイブを事前に抽出して、プロジェクトへの依存関係として追加する必要があることを知っておくと役立つかもしれません。たとえば、アーカイブhibernate-validator-4.3.2.Final-dist.ZipをIDEのプロジェクト依存関係に追加しようとしましたが、機能しません。次に、それを抽出して、すべてのdistフォルダから私のプロジェクトへのライブラリと問題が消えます。

0
iko