7

मैं हाइबरनेट स्थापित करने की कोशिश कर रहा हूं। लेकिन जब मैं, मेरे सत्र फैक्टरी बनाने की कोशिश इस कोड के साथ: मैं त्रुटि मिलती हैहाइबरनेट - बीन सत्यापन एकीकरण को सक्रिय करने में त्रुटि

Configuration configuration = new Configuration(); 
configuration.configure(); 
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();   
sessionFactory = configuration.buildSessionFactory(serviceRegistry); 

:

org.hibernate.cfg.beanvalidation.IntegrationException: Error activating Bean Validation integration 
     at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:156) 
     at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:303) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1760) 
     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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 
     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) 
     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
     at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
    Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider; 
     at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:113) 
     at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:45) 
     at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:217) 
     at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:445) 
     at org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:96) 
     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.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:150) 
     ... 31 more 

मैं हाइबरनेट-सत्यापनकर्ता और मेरी कक्षा-पथ में सेम सत्यापनकर्ता है (देखें स्क्रीनशॉट) enter image description here

यहां क्या समस्याएं हो सकती हैं?

संपादित करें मेरे पास क्लासपाथ पर दो अतिरिक्त सत्यापन-एपीआई थे, लेकिन उन्हें छोड़ दिया गया। क्या वे किसी भी तरह से एक समस्या हो सकती है। शायद दायरा = प्रदान किया?

<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-user</artifactId> 
    <version>${gwtVersion}</version> 
    <scope>provided</scope> 
    <exclusions> 
     <exclusion> 
      <artifactId>validation-api</artifactId> 
      <groupId>javax.validation</groupId> 
     </exclusion> 
    </exclusions> 
</dependency> 

<dependency> 
    <groupId>com.google.web.bindery</groupId> 
    <artifactId>requestfactory-server</artifactId> 
    <version>2.5.1</version> 
    <exclusions> 
     <exclusion> 
      <artifactId>validation-api</artifactId> 
      <groupId>javax.validation</groupId> 
     </exclusion> 
    </exclusions> 
</dependency> 

संपादित 2

समस्या हल: मैं कक्षा राह में अभी तक एक और सेम सत्यापनकर्ता जार था। लेकिन मैवेन से नहीं, इसलिए मुझे इसका एहसास नहीं हुआ। उस समस्या को हल करने से हटा रहा है। संकेतों के लिए बहुत बहुत धन्यवाद!

+1

'NoSuchMethodError' द्वारा, मैं पुस्तकालयों/जेवीएम के संस्करणों के साथ समस्याओं की जांच करता हूं (कि आप एक पुस्तकालय का उपयोग कर रहे हैं ताकि यह अपेक्षित विधि प्रदान न करे)। – SJuan76

+0

... क्लासपाथ में दिखाए गए संस्करणों को कठिन बनाना चाहिए (1.1.0 अंतिम रिलीज लाइब्रेरी है) – SJuan76

+1

क्या आप सुनिश्चित हैं कि आपके पास क्लासपाथ पर बीनविलिडेशन 1.0 एपीआई संस्करण भी नहीं है। Bvean प्रमाणीकरण 1.0 में कोई _ParameterNameProvider_ नहीं है, जिससे त्रुटि की व्याख्या होगी। – Hardy

उत्तर

4

NoSuchMethodError इंगित करता है कि आपने जार का गलत संस्करण लोड किया है जिसमें आपके द्वारा उपयोग की जाने वाली कोई विधि नहीं है।
मैं अत्यधिक आपको हाइबरनेट 4.0 या थोड़ा कम उपयोग करने की सलाह देता हूं जो प्रत्यारोपण के लिए अधिक स्थिर हो जाता है।

संबंधित मुद्दे