javax.validation.ValidationException: HV000136: The specified constraint annotation class MyConstraint cannot be loaded.

Hibernate JIRA | Zhelyazko Chobantonov | 7 months ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    All issues are related to validation using XML as configuration Issue 1: javax.validation.ValidationException: HV000136: The specified constraint annotation class MyConstraint cannot be loaded. at org.hibernate.validator.internal.xml.MetaConstraintBuilder.buildMetaConstraint(MetaConstraintBuilder.java:67) at org.hibernate.validator.internal.xml.ConstrainedTypeBuilder.buildConstrainedType(ConstrainedTypeBuilder.java:64) at org.hibernate.validator.internal.xml.XmlMappingParser.parse(XmlMappingParser.java:130) at org.hibernate.validator.internal.metadata.provider.XmlMetaDataProvider.<init>(XmlMetaDataProvider.java:51) at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:144) at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:45) at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:236) at ValidationConfigurationIssues.testELContextFromXmlConfiguration(ValidationConfigurationIssues.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: javax.validation.ValidationException: HV000065: Unable to load class: java.lang.MyConstraint. at org.hibernate.validator.internal.util.privilegedactions.LoadClass.loadNonValidatorClass(LoadClass.java:100) at org.hibernate.validator.internal.util.privilegedactions.LoadClass.run(LoadClass.java:53) at org.hibernate.validator.internal.util.privilegedactions.LoadClass.run(LoadClass.java:29) at org.hibernate.validator.internal.util.ReflectionHelper.run(ReflectionHelper.java:674) at org.hibernate.validator.internal.util.ReflectionHelper.loadClass(ReflectionHelper.java:154) at org.hibernate.validator.internal.util.ReflectionHelper.loadClass(ReflectionHelper.java:186) at org.hibernate.validator.internal.util.ReflectionHelper.loadClass(ReflectionHelper.java:158) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.buildMetaConstraint(MetaConstraintBuilder.java:64) This happen when MyConstraint is in java default package and <default-package>java.lang</default-package> Issue 2: having xml pretty formatted produce following exception : java.lang.IllegalArgumentException: testvalidation.MyConstraint$AdditionalConstraint is not an enum type at java.lang.Class.enumConstantDirectory(Class.java:3344) at java.lang.Enum.valueOf(Enum.java:232) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.convertStringToReturnType(MetaConstraintBuilder.java:258) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.getSingleValue(MetaConstraintBuilder.java:161) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.getElementValue(MetaConstraintBuilder.java:140) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.buildMetaConstraint(MetaConstraintBuilder.java:81) at org.hibernate.validator.internal.xml.ConstrainedTypeBuilder.buildConstrainedType(ConstrainedTypeBuilder.java:64) at org.hibernate.validator.internal.xml.XmlMappingParser.parse(XmlMappingParser.java:130) at org.hibernate.validator.internal.metadata.provider.XmlMetaDataProvider.<init>(XmlMetaDataProvider.java:51) at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:144) at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:45) at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:236) at testvalidation.ValidationConfigurationIssues.testELContextFromXmlConfiguration(ValidationConfigurationIssues.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Issue 3: Empty sub annotation attribute generate following exception: javax.validation.ValidationException: HV000108: Attempt to specify an array where single value is expected. at org.hibernate.validator.internal.xml.MetaConstraintBuilder.getElementValue(MetaConstraintBuilder.java:133) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.buildAnnotation(MetaConstraintBuilder.java:107) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.getSingleValue(MetaConstraintBuilder.java:176) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.getElementValue(MetaConstraintBuilder.java:140) at org.hibernate.validator.internal.xml.MetaConstraintBuilder.buildMetaConstraint(MetaConstraintBuilder.java:81) at org.hibernate.validator.internal.xml.ConstrainedTypeBuilder.buildConstrainedType(ConstrainedTypeBuilder.java:64) at org.hibernate.validator.internal.xml.XmlMappingParser.parse(XmlMappingParser.java:130) at org.hibernate.validator.internal.metadata.provider.XmlMetaDataProvider.<init>(XmlMetaDataProvider.java:51) at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:144) at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:45) at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:236) at testvalidation.ValidationConfigurationIssues.testXmlConfiguration(ValidationConfigurationIssues.java:47) at testvalidation.ValidationConfigurationIssues.testXmlConfiguration_constraint_empty(ValidationConfigurationIssues.java:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

    Hibernate JIRA | 7 months ago | Zhelyazko Chobantonov
    javax.validation.ValidationException: HV000136: The specified constraint annotation class MyConstraint cannot be loaded.

    Root Cause Analysis

    1. javax.validation.ValidationException

      HV000065: Unable to load class: java.lang.MyConstraint.

      at org.hibernate.validator.internal.util.privilegedactions.LoadClass.loadNonValidatorClass()
    2. Hibernate Validator Engine
      MetaConstraintBuilder.buildMetaConstraint
      1. org.hibernate.validator.internal.util.privilegedactions.LoadClass.loadNonValidatorClass(LoadClass.java:100)
      2. org.hibernate.validator.internal.util.privilegedactions.LoadClass.run(LoadClass.java:53)
      3. org.hibernate.validator.internal.util.privilegedactions.LoadClass.run(LoadClass.java:29)
      4. org.hibernate.validator.internal.util.ReflectionHelper.run(ReflectionHelper.java:674)
      5. org.hibernate.validator.internal.util.ReflectionHelper.loadClass(ReflectionHelper.java:154)
      6. org.hibernate.validator.internal.util.ReflectionHelper.loadClass(ReflectionHelper.java:186)
      7. org.hibernate.validator.internal.util.ReflectionHelper.loadClass(ReflectionHelper.java:158)
      8. org.hibernate.validator.internal.xml.MetaConstraintBuilder.buildMetaConstraint(MetaConstraintBuilder.java:64)
      8 frames