Search code examples
javahibernatewildfly-8

Wildfly-8.1 Hibernate jars Conflicts with my own jars


When i migrated from jboss-6.3-eap to wildfly-8-1 i saw following error:

Caused by: java.lang.ClassCastException: com.fasterxml.classmate.types.ResolvedRecursiveType cannot be cast to com.fasterxml.classmate.types.ResolvedObjectType
    at com.fasterxml.classmate.TypeResolver._resolveSuperClass(TypeResolver.java:422)
    at com.fasterxml.classmate.TypeResolver._constructType(TypeResolver.java:395)
    at com.fasterxml.classmate.TypeResolver._fromClass(TypeResolver.java:351)
    at com.fasterxml.classmate.TypeResolver._fromAny(TypeResolver.java:299)
    at com.fasterxml.classmate.TypeResolver._fromParamType(TypeResolver.java:437)
    at com.fasterxml.classmate.TypeResolver._fromAny(TypeResolver.java:305)
    at com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces(TypeResolver.java:409)
    at com.fasterxml.classmate.TypeResolver._constructType(TypeResolver.java:395)
    at com.fasterxml.classmate.TypeResolver._fromClass(TypeResolver.java:351)
    at com.fasterxml.classmate.TypeResolver.resolve(TypeResolver.java:111)
    at org.hibernate.validator.internal.util.ExecutableHelper.instanceMethodParametersResolveToSameTypes(ExecutableHelper.java:114)
    at org.hibernate.validator.internal.util.ExecutableHelper.overrides(ExecutableHelper.java:98)
    at org.hibernate.validator.internal.util.ExecutableHelper.overrides(ExecutableHelper.java:62)
    at org.hibernate.validator.internal.metadata.aggregated.ExecutableMetaData$Builder.accepts(ExecutableMetaData.java:328)
    at org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl$BuilderDelegate.add(BeanMetaDataImpl.java:586)
    at org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl$BeanMetaDataBuilder.addMetaDataToBuilder(BeanMetaDataImpl.java:500)
    at org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl$BeanMetaDataBuilder.add(BeanMetaDataImpl.java:494)
    at org.hibernate.validator.internal.metadata.BeanMetaDataManager.createBeanMetaData(BeanMetaDataManager.java:180)
    at org.hibernate.validator.internal.metadata.BeanMetaDataManager.getOrCreateBeanMetaData(BeanMetaDataManager.java:207)
    at org.hibernate.validator.internal.metadata.BeanMetaDataManager.isConstrained(BeanMetaDataManager.java:151)
    at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:171)

My application works fine in jboss-6.3-eap and all hibernate configurations are ok. my hibernate jars are (i haven't classmate jar in my libs):

hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.7.Final.jar
hibernate-ehcache-3.6.7.Final.jar
hibernate-jpa-2.0-pi-1.0.1.Final.jar
hibernate-validator-4.1.0.Final.jar

I think that this exception has generated because some of my jars conflicts with wildfly jars, and i cant prevent wildfly from loading its default hibernate jars.


Solution

  • This exception was generated because wildfly hibernate-validator library was newer than my app hibernate-validator, so i resloved problem by adding following line in jboss-deployment-structure.xml exclusion section in my application:

    <exclusions>
     <module name="org.hibernate.validator"/>
      .
      .
      .
    <exclusions>